/* Social-first layout, isolated from V27's original styles. */
header .inner{position:relative;padding-right:58px}header p{display:none}
.social-account{position:absolute;right:0;top:0;min-width:48px;min-height:48px;background:#ffffff24;border:1px solid #ffffff77;border-radius:50%;font-size:23px;padding:7px}
.v2-nav{position:fixed;bottom:0;left:0;right:0;z-index:60;background:#fff;box-shadow:0 -4px 18px #29134425;padding:8px max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));margin:0}
.primary-nav{max-width:740px;margin:auto;gap:6px}.primary-nav button{min-height:52px;font-size:14px;padding:8px 5px}
main{padding-bottom:calc(105px + env(safe-area-inset-bottom))}
#networkScreen{position:relative;padding-top:66px}
#networkScreen>h1{font-size:21px;margin:0 90px 14px 0}
.social-filter-button{position:absolute;top:16px;right:14px;min-height:42px;padding:8px 10px;font-size:13px}
#networkScreen>.network-compact-filters[hidden]{display:none!important}
#networkScreen>.network-tools,#networkScreen>.universe-grid,#networkScreen>.community-tabs,#networkScreen>.network-owner-notice,#networkScreen>.v2-muted:not(.social-local-note){display:none}
.social-local-note{font-size:12px;margin-top:16px}
.social-personalize{border-top:1px solid #e7def2;margin-top:22px;padding-top:18px;display:grid;gap:12px}
.social-personalize label{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0}
.social-personalize input[type=color]{width:74px;min-height:46px;padding:3px}
.social-personalize input[type=file]{max-width:100%;font-size:13px}
body.social-photo-background{background-position:center;background-size:cover;background-attachment:fixed}
body.social-photo-background .panel{background:rgba(255,255,255,.96)}

/* Override V27's mobile sticky rule: the approved navigation belongs at the bottom. */
@media (max-width:767px),(hover:none) and (pointer:coarse){
 .v2-nav{position:fixed;top:auto;bottom:0;left:0;right:0;margin:0;border-radius:0;border:0;padding:8px max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#fff;box-shadow:0 -4px 18px #29134425}
 html{scroll-padding-top:16px}
 section.panel :is(h1,h2,h3,input,textarea,select,button){scroll-margin-top:16px}
}
:root:has(body.social-photo-background){background:transparent}
html:has(body[style*="background-color"]){background:transparent}
body{min-height:100vh}
#networkScreen>.network-compact-filters:not([hidden]){display:grid;gap:10px;margin-bottom:16px}
#networkScreen>.network-compact-filters label{font-size:13px}
.social-story-tab{font-size:14px}
@media(max-width:360px){.primary-nav button{font-size:12px}.nav-label{font-size:12px}.social-story-tab{font-size:12px}}

/* Keep breed choices and focused form fields above the fixed mobile bar. */
#profileCharacteristics{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
#profileCharacteristics :is(.catalogue-results,.catalogue-selected){scroll-padding-bottom:calc(115px + env(safe-area-inset-bottom))}
#profileCharacteristics :is(input,select,button,label){scroll-margin-bottom:calc(130px + env(safe-area-inset-bottom))}
@media(max-width:767px),(hover:none) and (pointer:coarse){
 main{padding-bottom:calc(160px + env(safe-area-inset-bottom))}
 body:has(#profileCharacteristics input:focus) .v2-nav{visibility:hidden;pointer-events:none}
}

/* iPhone keyboard: remove the fixed nav while editing and keep breed results scrollable. */
@media (max-width:767px){
 body.social-keyboard-open .v2-nav{display:none!important}
 body.social-keyboard-open #profileCharacteristics{padding-bottom:calc(48px + env(safe-area-inset-bottom))}
 body.social-keyboard-open #profileCharacteristics :is(input,select,button,label){scroll-margin-bottom:24px}
 body.social-keyboard-open #profileCharacteristics :is(.catalogue-results,.catalogue-selected){scroll-padding-bottom:24px}
}
