/*
Theme Name: Baltimore Eagle Rope Shop
Version: 2.4.0
Description: Private rope-family catalog. Black, Eagle red, and neutral typography.
*/
:root{color-scheme:dark;--black:#080808;--surface:#141414;--raised:#202020;--line:#3b3b3b;--text:#f7f7f7;--muted:#c2c2c2;--red:#b80d24;--red-hover:#d71935;--red-light:#ff6478;--page-pad:clamp(20px,3.4vw,72px)}
*,*::before,*::after{box-sizing:border-box}
html{width:100%;max-width:none;margin:0;scroll-behavior:smooth;scroll-padding-top:20px}
body{width:100%;max-width:none;margin:0;background:var(--black);color:var(--text);font:16px/1.6 Arial,Helvetica,sans-serif}
.rope-site{width:100%;max-width:none;min-width:0;overflow-wrap:break-word}
.rope-site a{color:inherit;text-decoration:none}
.rope-site a:hover{color:var(--red-light)}
.rope-site button,.rope-site select{font:inherit}
.rope-site :is(a,button,select):focus-visible{outline:3px solid var(--red-light);outline-offset:5px}
.rope-site button{cursor:pointer}
.skip-link{position:absolute;left:20px;top:-100px;background:var(--red);padding:12px 20px;z-index:100}
.skip-link:focus{top:10px}
.site-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:104px;padding:21px var(--page-pad);background:#030303;border-bottom:3px solid var(--red)}
.brand{display:flex;flex-shrink:0;align-items:center;gap:20px;line-height:1.05;text-transform:uppercase}
.brand-logo{display:block;width:164px;height:auto;max-width:100%;object-fit:contain}
.brand:has(.brand-logo) .brand-department{margin-top:0;max-width:78px;font-size:13px;line-height:1.5;letter-spacing:.18em}
.brand-name{display:block;font-size:15px;letter-spacing:.12em;font-weight:700}
.brand-name strong{display:block;font-size:36px;letter-spacing:.04em;font-weight:900}
.brand-department{display:block;margin-top:7px;color:var(--red-light);font-size:11px;font-weight:700;letter-spacing:.32em}
.site-header nav ul{display:flex;flex-wrap:wrap;align-items:center;gap:12px clamp(16px,2.4vw,42px);padding:0;margin:0;list-style:none}
.site-header nav a{display:block;padding:12px 0;font-size:13px;font-weight:800;line-height:1.3;text-transform:uppercase;letter-spacing:.045em;border-bottom:2px solid transparent}
.site-header nav :is(.current-menu-item,.current_page_item)>a{color:var(--red-light);border-bottom-color:var(--red-light)}
.site-header nav a:hover{border-bottom-color:var(--red-light)}
.review-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;width:100%;padding:9px var(--page-pad);background:var(--raised);color:var(--muted);font-size:11px;letter-spacing:.035em}
.review-bar strong{display:inline-block;margin-right:10px;color:white;background:var(--red);padding:3px 8px;text-transform:uppercase;font-size:10px;letter-spacing:.08em}
.rope-main{display:block!important;float:none!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0 var(--page-pad) 60px!important}
.landing-intro{text-align:center;padding:46px 0 33px}
.eyebrow{margin:0 0 9px;color:var(--red-light);font-size:11px;font-weight:800;line-height:1.5;letter-spacing:.16em;text-transform:uppercase}
.landing-intro h1{margin:0;font-size:clamp(32px,3.3vw,52px);font-weight:900;line-height:1.12;letter-spacing:.025em;text-transform:uppercase}
.landing-intro>p:last-child{margin:12px 0 0;color:var(--muted);font-size:14px}
.category-bar{display:flex;align-items:stretch;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:34px;min-height:67px}
.category-label{display:flex;align-items:center;margin:0;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.category-link{display:flex;align-items:center;gap:18px;padding:15px 6px;border-bottom:3px solid var(--red-light);margin-bottom:-1px}
.category-link strong{font-size:14px;letter-spacing:.07em;text-transform:uppercase}
.category-link span{font-size:11px;color:var(--muted)}
.category-bar{flex-wrap:wrap;row-gap:0}
.material-section+.material-section{border-top:1px solid var(--line);margin-top:45px;padding-top:38px}
.category-link:hover{background:var(--surface)}
.family-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:0 0 22px}
.family-heading h2{margin:0;font-size:20px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.family-heading span{font-size:12px;color:var(--muted)}
.rope-family{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,4vw,72px);width:100%;align-items:start}
.family-gallery,.family-summary{min-width:0}
.gallery-stage{position:relative;width:100%;background:var(--surface);border:1px solid var(--line)}
.gallery-stage .family-image{display:block;width:100%;height:auto;aspect-ratio:1.18;object-fit:cover}
.image-badge{position:absolute;top:16px;left:16px;padding:5px 9px;background:var(--red);color:white;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.gallery-caption{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 0;font-size:12px;color:var(--muted)}
.gallery-caption strong{color:var(--text);font-weight:600}
.thumbnail-strip{display:flex;gap:10px;overflow-x:auto;padding:5px 4px 14px;scrollbar-width:thin;scrollbar-color:var(--red) var(--surface)}
.thumbnail{flex:0 0 68px;display:block;border:2px solid var(--line);padding:3px;background:var(--surface);border-radius:0;transition:border-color .15s}
.thumbnail img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.thumbnail[aria-pressed="true"]{border-color:var(--red-light)}
.thumbnail:hover{border-color:var(--red-light)}
.family-summary{padding:4px 0 0}
.family-title{margin:5px 0 10px;font-size:clamp(28px,2.7vw,43px);font-weight:900;line-height:1.12;letter-spacing:.015em;text-transform:uppercase}
.family-subtitle{margin:0;color:var(--muted);font-size:14px}
.family-price{margin:17px 0 22px;font-size:30px;font-weight:800;line-height:1.2;color:var(--text)}
.family-price small{display:inline-block;margin-left:8px;color:var(--muted);font-size:11px;font-weight:400;vertical-align:middle}
.variation-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px;font-size:13px;font-weight:700}
.variation-label span{color:var(--muted);font-size:11px;font-weight:400}
.color-select{display:block;width:100%;min-height:49px;padding:10px 40px 10px 14px;border:1px solid #777;background:var(--surface);color:var(--text);border-radius:0;accent-color:var(--red)}
.color-select:hover{border-color:var(--red-light)}
.variation-status{margin:9px 0 0;color:var(--muted);font-size:11px;min-height:18px}
.family-description{margin:20px 0 19px;color:var(--muted);font-size:14px;line-height:1.7;min-height:72px}
.family-specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:0 0 24px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.family-specs>div{padding:0 18px;border-right:1px solid var(--line)}
.family-specs>div:first-child{padding-left:0}.family-specs>div:last-child{border:0;padding-right:0}
.family-specs dt{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.family-specs dd{margin:4px 0 0;font-size:13px;font-weight:700}
.rope-site .primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:13px 23px;background:var(--red);border:1px solid var(--red);color:white;font-size:12px;font-weight:800;line-height:1.5;letter-spacing:.09em;text-transform:uppercase;transition:background .15s}
.rope-site .primary-button:hover{background:var(--red-hover);border-color:var(--red-hover);color:white}
.family-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.closed-note{margin:0;color:var(--muted);font-size:11px}
.publication-hold{border-left:3px solid var(--red);background:var(--surface);padding:12px 15px;margin:21px 0 0;color:var(--muted);font-size:11px}
.family-note{margin-top:31px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}
.family-note strong{color:var(--text)}
.breadcrumbs{display:flex;gap:10px;padding:26px 0;margin:0;color:var(--muted);font-size:12px}
.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.page-content{width:100%;max-width:none;min-height:55vh;padding:48px 0}
.page-content h1{margin:0 0 22px;font-size:clamp(30px,3vw,44px);line-height:1.2;text-transform:uppercase;font-weight:900}
.page-content p{max-width:850px;color:var(--muted)}
.site-footer{width:100%;display:flex;justify-content:space-between;align-items:center;gap:28px;padding:31px var(--page-pad);border-top:1px solid var(--line);background:#030303;color:var(--muted);font-size:12px}
.site-footer strong{color:var(--text);font-size:13px;text-transform:uppercase;letter-spacing:.045em}
.site-footer p{margin:7px 0 0}.footer-links{display:flex;gap:25px;flex-wrap:wrap}.footer-links a:hover{text-decoration:underline;text-underline-offset:5px}
@media(min-width:1700px){.gallery-stage .family-image{aspect-ratio:1.4}.family-summary{padding-top:15px}}
@media(min-width:1001px){.site-header,.review-bar,.rope-main,.site-footer{width:100%!important;max-width:none!important}.rope-family{width:100%;max-width:none;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr)}}
@media(max-width:1000px){.site-header{gap:22px}.site-header nav ul{gap:7px 18px}.site-header nav a{font-size:11px}.rope-family{gap:28px}.family-title{font-size:30px}.family-specs>div{padding:0 10px}.family-specs dd{font-size:12px}.gallery-stage .family-image{aspect-ratio:1}}
@media(max-width:720px){:root{--page-pad:20px}.site-header{align-items:flex-start;flex-direction:column;gap:15px;padding-top:20px;padding-bottom:13px}.brand-name{font-size:11px}.brand-name strong{font-size:29px}.brand-department{font-size:9px}.site-header nav{width:100%}.site-header nav ul{justify-content:flex-start;gap:4px 20px}.site-header nav a{font-size:10px;min-height:36px;padding:9px 0}.review-bar{font-size:10px;gap:7px}.review-bar>span:first-child{display:none}.review-bar strong{font-size:9px;margin-right:7px}.landing-intro{padding:29px 0 24px}.landing-intro h1{font-size:32px}.landing-intro>p:last-child{font-size:12px;max-width:310px;margin:10px auto 0}.eyebrow{font-size:10px}.category-bar{gap:20px;margin-bottom:24px;min-height:58px}.category-label{font-size:9px;max-width:60px}.category-link{gap:12px}.category-link strong{font-size:12px}.category-link span{font-size:10px}.family-heading{margin-bottom:15px}.family-heading h2{font-size:16px}.family-heading span{font-size:10px}.rope-family{grid-template-columns:minmax(0,1fr);gap:22px}.gallery-stage .family-image{aspect-ratio:1.18}.thumbnail{flex-basis:54px}.thumbnail-strip{gap:8px}.gallery-caption{font-size:11px}.family-title{font-size:30px}.family-price{font-size:28px;margin:14px 0 22px}.family-description{min-height:0}.family-specs{margin-bottom:22px}.family-actions{gap:13px}.rope-site .primary-button{width:100%}.closed-note{width:100%;text-align:center}.family-note{flex-direction:column;gap:6px;font-size:11px}.rope-main{padding-bottom:35px!important}.site-footer{align-items:flex-start;flex-direction:column;gap:20px;padding-top:25px;padding-bottom:25px}.site-footer strong{font-size:12px}.site-footer p{font-size:11px}.footer-links{gap:22px}.breadcrumbs{padding:23px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media(max-width:720px){.site-header nav a{font-size:12px;min-height:40px}}
@media(max-width:720px){.brand{gap:18px}.brand-logo{width:132px}.brand:has(.brand-logo) .brand-department{font-size:12px;max-width:none}.site-header{padding-top:12px;gap:8px}}
@media(max-width:720px){.category-label{flex:0 0 100%;max-width:none;padding-top:12px}.category-link{flex:1 1 130px;flex-direction:column;align-items:flex-start;gap:4px;padding-top:10px;padding-bottom:11px}.material-section+.material-section{margin-top:30px;padding-top:28px}}
