/* Cattery Studio 7.2: component-scoped page layouts, platform branding controls, responsive presentation. */
body.host-header-hidden > .topbar,body.host-footer-hidden > .footer{display:none!important}
/* Layout containment: do not let gallery or preview utility classes grid the entire site. */
.cattery{display:block!important;columns:auto!important;grid-template-columns:none!important;min-width:0;width:100%;max-width:100%;overflow:clip;color:var(--cat-ink);}
.cattery>*{min-width:0}.cattery .container{max-width:1200px;margin-inline:auto;width:min(100% - 48px,1200px);}
.cattery.width-wide .container{max-width:1400px;width:min(100% - 60px,1400px)}
.cattery .cattery-hero-grid,.cattery .cattery-about,.cattery .inquiry-layout,.cattery .cat-grid,.cattery .gallery-grid{min-width:0}
.cattery .cattery-hero-grid>* ,.cattery .cattery-about>* ,.cattery .inquiry-layout>* ,.cattery .cat-grid>* ,.cattery .gallery-grid>*{min-width:0;max-width:100%}
.cattery .cat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(15px,2.2vw,26px)}
.cattery.hero-magazine .cat-grid,.cattery.hero-gallery .cat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.cattery .gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4vw,20px)}
.cattery.gallery-showcase .gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.cattery .cat-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;background:#fff;color:#2b4437;box-shadow:0 15px 40px #25432e12;transition:transform .18s ease,box-shadow .18s ease}
.cattery .cat-card:hover{transform:translateY(-3px);box-shadow:0 20px 45px #25432e20}
.cattery .cat-image{height:clamp(200px,23vw,305px);overflow:hidden}
.cattery .cat-image img{width:100%;height:100%;object-fit:cover}
.cattery .cat-body{padding:clamp(17px,2.1vw,28px);flex:1;display:flex;flex-direction:column}
.cattery .cat-body h3{font-size:clamp(1.4rem,2vw,2rem);line-height:1.17;overflow-wrap:break-word}
.cattery .cat-body p{overflow-wrap:anywhere}.cattery .cat-body .text-link{margin-top:auto;padding-top:16px}
.cattery .cattery-hero{overflow:hidden}.cattery .cattery-hero-grid{gap:clamp(22px,5vw,72px)}
.cattery .cattery-hero h1{font-size:clamp(2.6rem,5vw,5.25rem);line-height:1.04;overflow-wrap:break-word;letter-spacing:-.045em}
.cattery .cattery-intro{font-size:clamp(1rem,1.7vw,1.18rem);line-height:1.65}
.cattery .cattery-about{grid-template-columns:minmax(0,1.5fr) minmax(250px,.75fr);gap:clamp(25px,5vw,75px)}
.cattery .inquiry-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(25px,6vw,80px)}
.cattery .inquiry-layout .panel{min-width:0;width:100%;padding:clamp(22px,3vw,38px)}
.cattery .inquiry-layout .panel input,.cattery .inquiry-layout .panel textarea{width:100%;min-width:0}
.cattery .cattery-subnav{display:flex;flex-wrap:wrap;gap:clamp(12px,3vw,38px);width:min(100% - 48px,1200px)}
.cattery .section-heading,.cattery .section-heading>*{min-width:0;max-width:100%}
.cattery .section-heading h2{font-size:clamp(2.15rem,4vw,3.7rem);text-wrap:balance}
.cattery .gallery-grid figure{min-width:0;max-width:100%;overflow:hidden}
.cattery .gallery-grid img{width:100%;height:clamp(175px,19vw,270px);object-fit:cover}
.cattery :where(h1,h2,h3,p,small,span,a){overflow-wrap:break-word}
/* Cattery-specific navigation remains available with both platform brand sections hidden. */
.cattery-own-nav{background:#fffdf9;border-bottom:1px solid #dce6de;position:relative;z-index:3}
.cattery-own-nav-inner{min-height:83px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:12px 0}
.cattery-own-identity{display:flex;align-items:center;gap:12px;color:#2c4e40;min-width:0;flex:0 1 auto;text-decoration:none}
.cattery-own-identity span:last-child{display:grid;gap:2px;min-width:0}
.cattery-own-identity strong{font:600 clamp(1.16rem,1.65vw,1.52rem)/1.12 Georgia,'Times New Roman',serif;text-wrap:balance}
.cattery-own-identity small{font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;color:#6d7d72}
.cattery-own-monogram{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:15px;background:var(--cat-bg);color:var(--cat-accent);font-size:1.8rem}
.cattery-own-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:clamp(10px,1.8vw,28px)}
.cattery-own-links a{font-size:.91rem;font-weight:700;color:#3d5449;text-decoration:none;white-space:nowrap}
.cattery-own-links a:hover{text-decoration:underline;text-underline-offset:5px}
.cattery-own-links .cattery-own-action{border:1px solid var(--cat-accent);background:var(--cat-accent);color:#fff;padding:10px 16px;border-radius:100px}
.cattery-own-links .cattery-own-action:hover{filter:brightness(.87);text-decoration:none}
.cattery-own-nav a:focus-visible{outline:3px solid #2667a8;outline-offset:3px}
/* Controls visible on private previews; they are not saved by simply toggling. */
.brand-preview-console{display:flex;align-items:center;flex-wrap:wrap;gap:11px 20px;padding:15px max(24px,calc((100vw - 1200px)/2));background:#f2f6f1;border-bottom:1px solid #d9e3d9;color:#284b3c}
.brand-preview-console>div{display:grid;gap:2px;flex:1 1 230px}.brand-preview-console strong{font-size:.95rem}.brand-preview-console small{font-size:.78rem;color:#617568}
.brand-toggle{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:650;white-space:nowrap;cursor:pointer}
.brand-toggle input,.branding-choose input{width:20px;height:20px;accent-color:#38624e;flex-shrink:0;cursor:pointer}
.brand-preview-upgrade{font-size:.83rem;font-weight:700;color:#315b4b;text-decoration:underline;text-underline-offset:3px}
.branding-studio-card{scroll-margin-top:90px}.branding-choose{display:flex!important;align-items:flex-start;gap:14px;margin:15px 0!important;padding:15px;border:1px solid #dce7de;border-radius:16px;background:#f7faf7;cursor:pointer}
.branding-choose span{display:grid;gap:3px}.branding-choose strong{font-size:.96rem;color:#2b4739}.branding-choose small{font-size:.85rem;font-weight:400;color:#67766c}
.cattery-local-credit{font-weight:700;color:#6f8576}.cattery .network-credit{gap:14px;align-items:center;flex-wrap:wrap}
/* Demo toolbar branding controls, with instant change via JS */
.demo-showcase .demo-brand-switch{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;font-weight:650;font-size:.79rem}
.demo-showcase .demo-brand-switch input{accent-color:#38624e;width:18px;height:18px;flex-shrink:0}
.demo-showcase .demo-toolbar-form{flex-wrap:wrap;row-gap:12px}.demo-showcase .demo-customize-inner{align-items:center}
@media(max-width:950px){.cattery .cat-grid,.cattery.hero-magazine .cat-grid,.cattery.hero-gallery .cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cattery .gallery-grid,.cattery.gallery-showcase .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cattery .cattery-own-links{gap:12px}}
@media(max-width:760px){.cattery .container,.cattery.width-wide .container{width:calc(100% - 32px)}.cattery .cattery-hero-grid,.cattery .cattery-about,.cattery .inquiry-layout{grid-template-columns:minmax(0,1fr)!important;gap:24px}
.cattery .cattery-own-nav-inner{flex-direction:column;align-items:stretch;gap:11px}.cattery .cattery-own-links{justify-content:flex-start;gap:8px 14px;padding-bottom:8px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}
.cattery .cattery-own-links a{font-size:.85rem;white-space:nowrap}.cattery .cattery-own-identity strong{font-size:1.28rem}
.cattery .cattery-hero-grid>*{min-width:0}.cattery .cattery-hero{padding:30px 0 40px}.cattery .cattery-hero h1{font-size:clamp(2.3rem,8vw,3.6rem)}
.cattery .cattery-picture{max-height:380px}.cattery .cattery-subnav{gap:10px;justify-content:flex-start;padding:16px 0}.cattery .cattery-subnav a{padding:6px;font-size:.83rem}
.cattery .cattery-about{display:grid}.cattery .inquiry-layout{display:grid}.cattery .cat-grid,.cattery.hero-magazine .cat-grid,.cattery.hero-gallery .cat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cattery .gallery-grid,.cattery.gallery-showcase .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cattery .gallery-grid figure:first-child{grid-column:auto!important}.brand-preview-console{padding:13px 16px;gap:12px}.brand-preview-console>div{flex-basis:100%}
}
@media(max-width:470px){.cattery .container,.cattery.width-wide .container{width:calc(100% - 28px)}.cattery .cat-grid,.cattery.hero-magazine .cat-grid,.cattery.hero-gallery .cat-grid{grid-template-columns:minmax(0,1fr)}
.cattery .gallery-grid,.cattery.gallery-showcase .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cattery .cattery-hero h1{font-size:clamp(2.25rem,10vw,3.1rem)}.cattery .cat-image{height:300px}.cattery .cattery-own-links{margin-right:-12px}
.cattery .cattery-own-links .cattery-own-action{padding:8px 12px}.brand-preview-console .brand-toggle{flex:1 1 165px}
.demo-showcase .demo-toolbar-form{grid-template-columns:repeat(2,minmax(0,1fr))}.demo-showcase .demo-brand-switch{white-space:normal}
}
@media(prefers-reduced-motion:reduce){.cattery .cat-card{transition:none!important}}

/* The breeder's own footer stays useful even with all platform branding removed. */
.cattery-own-footer{background:#f5f6f0;border-top:1px solid #dce6dc;color:#2b4c3c}
.cattery-own-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:32px 0}
.cattery-own-footer-inner>div:first-child{display:grid;gap:4px}
.cattery-own-footer-inner strong{font:600 clamp(1.2rem,2vw,1.6rem)/1.2 Georgia,serif}
.cattery-own-footer-inner span{font-size:.86rem;color:#657d70}
.cattery-own-footer-links{display:flex;gap:12px 22px;flex-wrap:wrap}
.cattery-own-footer-links a{color:#35604e;font-size:.9rem;font-weight:650;text-decoration:none}
.cattery-own-footer-links a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){.cattery-own-footer-inner{align-items:flex-start;flex-direction:column;padding:25px 0}.cattery-own-footer-links{gap:10px 18px}}
