.hclo-wrap{--hclo-accent:#ab5319;--hclo-border:#e5dbcf;--hclo-radius:12px;color:inherit;font:inherit}
.hclo-wrap *{box-sizing:border-box}
.hclo-form{display:grid;gap:18px;max-width:760px}
.hclo-form label{display:grid;gap:7px;font-weight:600}
.hclo-form input:not([type=checkbox]):not([type=radio]),.hclo-form textarea,.hclo-form select,.hclo-filters select{width:100%;max-width:100%;border:1px solid var(--hclo-border);border-radius:8px;padding:11px 12px;background:#fff;color:#222;font:inherit}
.hclo-form textarea{min-height:145px}
.hclo-form button,.hclo-filters button{background:var(--hclo-accent);color:#fff;border:0;border-radius:8px;padding:12px 20px;font:inherit;font-weight:650;cursor:pointer}
.hclo-form button:hover,.hclo-filters button:hover{filter:brightness(.9)}
.hclo-form fieldset{border:1px solid var(--hclo-border);border-radius:8px;padding:15px;display:flex;gap:15px;flex-wrap:wrap}
.hclo-form fieldset label,.hclo-check{display:flex!important;align-items:flex-start;gap:8px;font-weight:400!important}
.hclo-help{font-size:.88em;color:#666;margin:0}.hclo-notice{padding:15px;border:1px solid var(--hclo-border);background:#fcf9f6;border-radius:8px}
.hclo-dogs{display:grid;gap:12px}.hclo-dog{padding:16px;background:#f8f5f1;border-radius:var(--hclo-radius);display:grid;gap:12px}.hclo-dog h4{margin:0}
.hclo-images,.hclo-admin-images{display:flex;gap:12px;flex-wrap:wrap}.hclo-image{display:grid!important;gap:6px;width:120px;min-width:120px;font-size:12px}.hclo-image img{height:100px;width:120px;object-fit:cover;border-radius:8px}.hclo-image span{display:flex;align-items:center;gap:5px}
.hclo-file-error{border-left:3px solid #ba3737;padding:8px 10px;color:#9d2323;background:#fff5f5}
.hclo-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:24px}.hclo-filters label{display:grid;gap:5px;min-width:170px}.hclo-filters select{padding:9px 12px}.hclo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.hclo-card{border:1px solid var(--hclo-border);overflow:hidden;border-radius:var(--hclo-radius);background:#fff;min-width:0;box-shadow:0 4px 20px rgba(0,0,0,.04)}
.hclo-card-body{padding:20px}.hclo-card-body h3{margin:0 0 5px;font-size:1.3em}.hclo-races{font-size:.85em;color:#7b6d65;margin:0 0 14px}.hclo-comment{white-space:normal;overflow-wrap:anywhere}.hclo-author{font-weight:600;font-size:.9em;margin-top:15px}
.hclo-gallery{position:relative;overflow:hidden;isolation:isolate;background:#f4f0ea}.hclo-slides{position:relative;aspect-ratio:5/4}.hclo-slide{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hclo-slide[hidden]{display:none!important}
.hclo-prev,.hclo-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.87)!important;border:0!important;color:#333!important;border-radius:100%!important;width:36px;height:36px;font-size:25px;line-height:1;cursor:pointer;padding:0!important}
.hclo-prev{left:12px}.hclo-next{right:12px}.hclo-counter{position:absolute;bottom:10px;right:10px;background:rgba(0,0,0,.58);color:#fff;border-radius:30px;padding:4px 10px;font-size:12px}
.hclo-no-photo{aspect-ratio:5/4;background:#f4f0ea;display:grid;place-items:center;color:#8d8179}.hclo-pagination{display:flex;gap:8px;justify-content:center;padding:24px}.hclo-pagination a{border:1px solid var(--hclo-border);border-radius:6px;padding:8px 13px}.hclo-pagination [aria-current=page]{background:var(--hclo-accent);color:white}
.hclo-admin-images{margin:12px 0}.hclo-admin textarea{max-width:800px}
@media(max-width:900px){.hclo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.hclo-grid{grid-template-columns:1fr}.hclo-form fieldset{display:grid}.hclo-filters{display:grid}.hclo-filters>*{width:100%}}
/* V1.1 — dynamically selected dog cards */
.hclo-dog[hidden],.hclo-dog-exact[hidden]{display:none!important}
.hclo-count-label,.hclo-dog-exact{max-width:320px}
/* WordPress moderation interface */
.hclo-admin{max-width:1180px}
.hclo-admin-heading{padding:22px 26px;margin:20px 0;background:#fff;border:1px solid #e4e5e7;border-radius:14px}
.hclo-admin-heading h1{font-size:26px;font-weight:700;margin:0 0 8px}
.hclo-admin-heading p{color:#606771;margin:0}
.hclo-admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}
.hclo-admin-tabs .button{border-radius:7px;padding:3px 15px}
.hclo-admin .widefat{background:white;border-radius:10px;overflow:hidden;border-color:#e4e5e7;box-shadow:0 2px 8px #00000008}
.hclo-admin .widefat th{font-weight:700;padding:15px 12px}
.hclo-admin .widefat td{padding:14px 12px;vertical-align:middle}
.hclo-review-panel{background:#fff;border:1px solid #e1e3e7;border-radius:14px;padding:24px 30px;box-shadow:0 5px 24px #0000000a;max-width:960px}
.hclo-review-head{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:15px;border-bottom:1px solid #eceef0}
.hclo-review-head h2{font-size:23px;margin:0}
.hclo-status{background:#fff1d6;color:#7a4a00;padding:7px 12px;border-radius:18px;font-weight:600}
.hclo-review-panel h3{margin-top:26px}
.hclo-review-panel textarea{max-width:100%;border-radius:8px;border-color:#cdd2d8;padding:13px;margin-top:8px}
.hclo-review-panel .hclo-admin-images{gap:16px}
.hclo-review-panel .hclo-image{width:150px}
.hclo-review-panel .hclo-image img{width:150px;height:120px}
.hclo-approval-row{border-top:1px solid #eceef0;padding-top:22px}
.hclo-reject-button{color:#a31e2a!important;border-color:#a31e2a!important}
.hclo-reject-button:hover{background:#fff3f4!important}

/* V1.2 — palette Hameau de Crecques; public components only */
.hclo-wrap{--hclo-accent:#58482F;--hclo-secondary:#91754B;--hclo-beige:#F8F3EB;--hclo-border:#e6ddcf;--hclo-radius:16px;color:#58482F}
.hclo-wrap .hclo-form{max-width:none;gap:20px}
.hclo-wrap .hclo-form input:not([type=checkbox]):not([type=radio]),.hclo-wrap .hclo-form select,.hclo-wrap .hclo-form textarea,.hclo-wrap .hclo-filters select{border:1px solid #d8c9b4;border-radius:10px;min-height:44px;color:#58482F;background:#fff}
.hclo-wrap .hclo-form input:focus,.hclo-wrap .hclo-form select:focus,.hclo-wrap .hclo-form textarea:focus{outline:2px solid #91754B;outline-offset:2px}
.hclo-wrap .hclo-form button,.hclo-wrap .hclo-filters button:not(.hclo-reset){background:#58482F;color:#fff;border-radius:10px;border:1px solid #58482F;font-weight:600}
.hclo-wrap .hclo-form button:hover,.hclo-wrap .hclo-filters button:not(.hclo-reset):hover{background:#91754B;border-color:#91754B}
.hclo-wrap .hclo-dog{background:#F8F3EB;border:1px solid #e8dfd2;padding:20px;border-radius:14px}
.hclo-wrap .hclo-notice{background:#F8F3EB;border-color:#dfd2be;color:#58482F}
.hclo-wrap .hclo-file-error{background:#fff4ef;border-left:3px solid #aa5337;color:#823b28;border-radius:7px;padding:12px}
.hclo-wrap .hclo-file-error[hidden]{display:none!important}
.hclo-wrap .hclo-file-error ul{margin:8px 0 8px 18px}
.hclo-wrap .hclo-file-error a{color:#58482F;text-decoration:underline}
/* Cards: gallery must keep a fixed ratio even when grid stretches the cards. */
.hclo-wrap .hclo-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px}
.hclo-wrap .hclo-card{background:#fff;border:1px solid #e4d9c9;border-radius:16px;box-shadow:0 8px 30px rgba(88,72,47,.08);display:flex;flex-direction:column;overflow:hidden}
.hclo-wrap .hclo-gallery{display:block!important;position:relative!important;flex:0 0 auto!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:4/3!important;background:#F8F3EB}
.hclo-wrap .hclo-gallery .hclo-slides{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;aspect-ratio:auto!important;overflow:hidden!important}
.hclo-wrap .hclo-gallery img.hclo-slide{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;margin:0!important;padding:0!important;border:0!important}
.hclo-wrap .hclo-gallery img.hclo-slide[hidden]{display:none!important}
.hclo-wrap .hclo-card-body{padding:24px;display:flex;flex-direction:column;gap:10px;flex:1}
.hclo-wrap .hclo-card-body h3{font-size:1.3rem;line-height:1.35;font-weight:650;color:#58482F;margin:0}
.hclo-wrap .hclo-races{color:#91754B;font-size:.86rem;margin:0}
.hclo-wrap .hclo-comment{margin:8px 0 0;line-height:1.7;flex:1}
.hclo-wrap .hclo-author{color:#58482F;font-size:.9rem;margin-top:12px}
.hclo-wrap .hclo-prev,.hclo-wrap .hclo-next{background:rgba(248,243,235,.94)!important;color:#58482F!important;box-shadow:0 2px 12px #0002}
.hclo-wrap .hclo-counter{background:rgba(88,72,47,.82);bottom:12px;right:12px}
.hclo-wrap .hclo-no-photo{background:#F8F3EB;aspect-ratio:4/3}
.hclo-wrap .hclo-filters{background:#F8F3EB;border:1px solid #e6ddcf;border-radius:16px;padding:20px;gap:14px;align-items:end;margin-bottom:28px}
.hclo-wrap .hclo-filters label{font-weight:600;color:#58482F}
.hclo-wrap .hclo-filters button{min-height:44px;padding:9px 18px}
.hclo-wrap .hclo-filters .hclo-reset{background:transparent;border:1px solid #91754B;color:#58482F}
.hclo-wrap .hclo-filters .hclo-reset:hover{background:#eee4d5}
.hclo-wrap .hclo-results.hclo-loading{opacity:.5;pointer-events:none}
.hclo-wrap .hclo-no-results{grid-column:1/-1;padding:36px;text-align:center;background:#F8F3EB;border-radius:12px}
.hclo-wrap .hclo-pagination button{cursor:pointer;border:1px solid #d5c9b5;background:white;color:#58482F;border-radius:8px;padding:9px 13px}
.hclo-wrap .hclo-pagination button[aria-current=page]{background:#58482F;color:white}
/* Adoptant dashboard */
.hclo-dashboard{max-width:1150px;margin:0 auto}
.hclo-dashboard-header{background:#F8F3EB;padding:30px 34px;border-radius:20px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}
.hclo-dashboard-header h2{margin:5px 0 8px;font-size:clamp(1.6rem,3vw,2.2rem);color:#58482F}
.hclo-dashboard-header p{margin:0;color:#7c6a53}
.hclo-eyebrow{font-size:.71rem;font-weight:750;letter-spacing:.12em;color:#91754B}
.hclo-logout{font-size:.91rem;color:#58482F;border:1px solid #c9b89d;border-radius:9px;padding:9px 15px;text-decoration:none;white-space:nowrap}
.hclo-account-nav{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 28px}
.hclo-account-nav a{padding:10px 16px;border:1px solid #e3d7c5;border-radius:24px;background:#fff;color:#58482F;text-decoration:none;font-weight:600;font-size:.9rem}
.hclo-account-nav a:hover{background:#F8F3EB}
.hclo-dashboard-card{background:#fff;border:1px solid #e5daca;border-radius:18px;padding:clamp(20px,3.5vw,36px);box-shadow:0 8px 24px rgba(88,72,47,.05);margin-bottom:22px;scroll-margin-top:80px}
.hclo-section-title{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.hclo-section-title h3{font-size:1.5rem;margin:6px 0 0;color:#58482F}
.hclo-section-intro{font-size:.95rem;color:#786a58;margin:0 0 22px;line-height:1.6}
.hclo-state{font-size:.78rem;padding:8px 12px;border-radius:24px;background:#F8F3EB;color:#58482F;font-weight:700}
.hclo-state-pending{background:#fff3d4;color:#7c5815}
.hclo-state-rejected{background:#ffece5;color:#983f31}
.hclo-state-published{background:#edf3e9;color:#42663b}
.hclo-dashboard .hclo-form>h3{font-size:1.1rem;color:#58482F;margin:16px 0 0}
.hclo-dashboard .hclo-form>button{justify-self:start}
.hclo-account-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.hclo-account-panels .hclo-dashboard-card{margin-bottom:0}
@media(max-width:950px){.hclo-wrap .hclo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.hclo-wrap .hclo-grid,.hclo-account-panels{grid-template-columns:1fr}.hclo-dashboard-header{padding:23px;align-items:flex-start;flex-direction:column}.hclo-wrap .hclo-filters{display:grid}.hclo-wrap .hclo-filters>*{width:100%}.hclo-dashboard .hclo-form>button{width:100%}}
/* Version 1.3 — responsive book and refined adoptant authentication */
.hclo-wrap .hclo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.hclo-wrap .hclo-card-body{padding:18px;gap:8px}
.hclo-wrap .hclo-card-body h3{font-size:1.06rem;overflow-wrap:anywhere}
.hclo-wrap .hclo-gallery .hclo-slide{cursor:zoom-in}
.hclo-wrap .hclo-gallery .hclo-slide:focus-visible{outline:3px solid #91754B;outline-offset:-4px}
.hclo-auth{padding:28px;background:#F8F3EB;border:1px solid #e8ddcc;border-radius:18px;box-shadow:0 12px 30px rgba(88,72,47,.07);max-width:620px;margin:0 auto}
.hclo-auth .hclo-auth-intro{padding-bottom:18px;border-bottom:1px solid #dfd2bf;margin-bottom:22px}
.hclo-auth .hclo-auth-intro p{margin:8px 0 0;color:#58482F;font-size:.95rem;line-height:1.65}
.hclo-auth .hclo-form{gap:15px}
.hclo-auth .hclo-form label{color:#58482F;font-size:.91rem;gap:8px}
.hclo-auth .hclo-form input:not([type=checkbox]):not([type=radio]){min-height:49px;background:white;border:1px solid #cdbda6;border-radius:10px;padding:12px 15px}
.hclo-auth .hclo-form button{width:100%;padding:15px 20px;border-radius:11px;margin-top:7px}
.hclo-auth .hclo-form a{color:#58482F;text-decoration:underline;text-underline-offset:3px}
.hclo-connected{display:flex;align-items:flex-start;gap:16px}
.hclo-connected-icon{flex:0 0 40px;width:40px;height:40px;background:#58482F;color:#fff;border-radius:50%;display:grid;place-items:center;font-weight:700}
.hclo-connected strong{color:#58482F;font-size:1.12rem}
.hclo-connected p{color:#74624b;margin:7px 0 18px;font-size:.94rem}
.hclo-action-link{display:inline-flex;justify-content:center;align-items:center;gap:8px;color:#fff!important;background:#58482F;border-radius:10px;padding:12px 18px;text-decoration:none!important;font-weight:600;transition:background .2s}
.hclo-action-link:hover{background:#91754B;color:white!important}
.hclo-review-footer{padding-top:24px;margin-top:30px;border-top:1px solid #e7ddce}
.hclo-lightbox[hidden]{display:none!important}
.hclo-lightbox{position:fixed;inset:0;z-index:2147483000;background:rgba(17,14,10,.94);display:flex;align-items:center;justify-content:center;padding:64px 65px 55px}
.hclo-lightbox-photo{display:block;max-height:calc(100vh - 120px);max-width:100%;width:auto;height:auto;object-fit:contain;border-radius:5px}
.hclo-lightbox button{position:absolute;border:0;background:rgba(248,243,235,.95);color:#58482F;cursor:pointer;display:grid;place-items:center;border-radius:50%;font-size:29px;width:45px;height:45px}
.hclo-lightbox-close{right:19px;top:16px}
.hclo-lightbox-prev{left:12px;top:50%;transform:translateY(-50%)}
.hclo-lightbox-next{right:12px;top:50%;transform:translateY(-50%)}
.hclo-lightbox-counter{position:absolute;bottom:14px;color:white;font-size:.9rem}
body.hclo-lightbox-open{overflow:hidden}
@media(max-width:1080px){.hclo-wrap .hclo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.hclo-wrap .hclo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.hclo-wrap .hclo-grid{grid-template-columns:1fr}.hclo-auth{padding:20px}.hclo-lightbox{padding:55px 45px}}

/* V1.4 — lisibility and Elementor style isolation */
.hclo-wrap{font-size:16px;line-height:1.55}
.hclo-wrap .hclo-eyebrow,
.hclo-wrap .hclo-help,
.hclo-wrap .hclo-races,
.hclo-wrap .hclo-author,
.hclo-wrap .hclo-counter,
.hclo-wrap .hclo-lightbox-counter,
.hclo-wrap .hclo-state,
.hclo-wrap .hclo-section-intro,
.hclo-wrap .hclo-auth .hclo-auth-intro p,
.hclo-wrap .hclo-connected p,
.hclo-wrap .hclo-filters label,
.hclo-wrap .hclo-form label,
.hclo-wrap .hclo-account-nav a,
.hclo-wrap .hclo-dashboard-header p,
.hclo-wrap .hclo-no-results,
.hclo-wrap .hclo-auth .hclo-form a,
.hclo-wrap .hclo-logout{font-size:max(14px, .875rem);line-height:1.5}
.hclo-wrap .hclo-form input,
.hclo-wrap .hclo-form select,
.hclo-wrap .hclo-form textarea,
.hclo-wrap .hclo-filters select,
.hclo-wrap .hclo-form button,
.hclo-wrap .hclo-filters button,
.hclo-wrap .hclo-action-link{font-size:16px;line-height:1.4}
/* Defeat theme and Elementor global blue button states without altering other site widgets. */
.hclo-wrap .hclo-form button,
.hclo-wrap .hclo-form button:link,
.hclo-wrap .hclo-form button:visited,
.hclo-wrap .hclo-form button:focus,
.hclo-wrap .hclo-form button:active,
.hclo-wrap .hclo-filters button:not(.hclo-reset),
.hclo-wrap .hclo-filters button:not(.hclo-reset):focus,
.hclo-wrap .hclo-filters button:not(.hclo-reset):active,
.hclo-wrap .hclo-action-link,
.hclo-wrap .hclo-action-link:focus,
.hclo-wrap .hclo-action-link:active,
.hclo-wrap .hclo-pagination button[aria-current=page]{background:#58482F!important;background-color:#58482F!important;border-color:#58482F!important;color:#fff!important;box-shadow:none}
.hclo-wrap .hclo-form button:hover,
.hclo-wrap .hclo-filters button:not(.hclo-reset):hover,
.hclo-wrap .hclo-action-link:hover{background:#91754B!important;background-color:#91754B!important;border-color:#91754B!important;color:#fff!important}
.hclo-wrap .hclo-form button:focus-visible,
.hclo-wrap .hclo-filters button:focus-visible,
.hclo-wrap .hclo-action-link:focus-visible{outline:3px solid #91754B!important;outline-offset:3px}
.hclo-wrap .hclo-filters button.hclo-reset,
.hclo-wrap .hclo-filters button.hclo-reset:focus,
.hclo-wrap .hclo-filters button.hclo-reset:active{background:#F8F3EB!important;border:1px solid #91754B!important;color:#58482F!important}
.hclo-wrap .hclo-filters button.hclo-reset:hover{background:#e9dfd0!important}
/* Single compact call-to-action for signed-in visitors. */
.hclo-wrap.hclo-auth-connected{max-width:960px;padding:14px 18px;margin:0 auto 18px;border-radius:12px;box-shadow:none}
.hclo-auth-connected .hclo-connected{align-items:center;gap:14px;flex-wrap:wrap}
.hclo-auth-connected .hclo-connected-icon{flex-basis:30px;width:30px;height:30px;font-size:16px}
.hclo-auth-connected .hclo-connected-copy{flex:1 1 175px}
.hclo-auth-connected .hclo-connected strong{font-size:15px;line-height:1.45}
.hclo-auth-connected .hclo-connected p{margin:1px 0 0;font-size:14px}
.hclo-auth-connected .hclo-action-link{padding:9px 14px;font-size:14px;white-space:normal;text-align:center}
@media(max-width:600px){.hclo-auth-connected .hclo-action-link{width:100%}}
