/* Hollowstead Site Core — public design foundation and site-wide primitives. */
:root{
 --hsc-color-pine:#173f34;
 --hsc-color-pine-dark:#163f2d;
 --hsc-color-pine-soft:#2c5942;
 --hsc-color-rust:#a45f3d;
 --hsc-color-gold:#a7773a;
 --hsc-color-paper:#fffdf8;
 --hsc-color-cream:#fbf7ec;
 --hsc-color-cream-deep:#f5eddc;
 --hsc-color-line:#d9d0bd;
 --hsc-color-muted:#657068;
 --hsc-color-ink:#30362f;
 --hsc-color-sage:#e7efe7;
 --hsc-color-gold-soft:#f4e7cf;
 --hsc-color-warn:#8b5529;
 --hsc-color-warn-soft:#fbefe1;
 --hsc-font-display:"Cormorant Garamond","Iowan Old Style",Georgia,serif;
 --hsc-font-body:Inter,"Avenir Next",Avenir,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
 --hsc-radius-card:14px;
 --hsc-radius-small:10px;
 --hsc-radius-large:18px;
 --hsc-radius-hero:22px;
 --hsc-radius-control:6px;
 --hsc-radius-pill:999px;
 --hsc-shadow-card:0 8px 24px rgba(37,49,40,.055);
 --hsc-shadow-hero:0 12px 30px rgba(31,51,39,.06);
 --hsc-container-wide:1180px;
 --hsc-container-medium:1080px;
 --hsc-reading-rail:860px;

 /* Semantic aliases keep shared link usage readable without duplicating color literals. */
 --hsc-link-pine:var(--hsc-color-pine-soft);
 --hsc-link-pine-dark:var(--hsc-color-pine-dark);
 --hsc-link-gold:var(--hsc-color-gold);
 --hsc-link-focus:var(--hsc-focus-ring,#173f34);
}

/* Navigation, footer, cards, breadcrumbs, and button-like links should never look browser-default. */
.site-header a,
.hsc-primary-nav a,
.site-footer a,
.hsc-site-footer a,
.hsc-guide-card a,
.hsc-guide-product-card a,
.hsc-guide-toc a,
.hsc-breadcrumbs a,
.woocommerce a.button,
.wp-element-button{
 text-decoration:none!important;
}

/* Primary navigation stays on the Hollowstead pine palette. */
#masthead .hsc-primary-nav .menu-item > a,
.site-header .hsc-primary-nav .menu-item > a{
 color:var(--hsc-link-pine-dark)!important;
}

/* Inline reading links retain a subtle non-color cue without a conventional underline. */
.site-content p a:not(.button):not(.wp-element-button),
.site-content li a:not(.button):not(.wp-element-button),
.entry-content p a:not(.button):not(.wp-element-button),
.entry-content li a:not(.button):not(.wp-element-button){
 color:var(--hsc-link-pine);
 text-decoration:none!important;
 border-bottom:1px solid rgba(167,119,58,.34);
 transition:color .18s ease,border-color .18s ease,background-color .18s ease;
}
.site-content p a:not(.button):not(.wp-element-button):hover,
.site-content li a:not(.button):not(.wp-element-button):hover,
.entry-content p a:not(.button):not(.wp-element-button):hover,
.entry-content li a:not(.button):not(.wp-element-button):hover{
 color:var(--hsc-link-pine-dark);
 border-bottom-color:var(--hsc-link-gold);
}

/* Utility/card links use weight, spacing, and motion rather than underlines. */
.hsc-guide-card-link,
.hsc-product-guides-more a,
.hsc-guide-card h3 a,
.hsc-guide-product-card h3 a,
.hsc-guide-related-item a{
 text-decoration:none!important;
 border-bottom:0!important;
}
.hsc-guide-card-link{transition:color .18s ease,transform .18s ease}
.hsc-guide-card-link:hover{color:var(--hsc-link-pine-dark);transform:translateX(2px)}

/* Keep keyboard navigation obvious even though mouse links are visually restrained. */
a:focus-visible{
 outline:3px solid var(--hsc-focus-ring,#173f34);
 outline-offset:3px;
 box-shadow:0 0 0 3px var(--hsc-color-paper,#fffdf8);
 border-radius:3px;
}

/* Catalog sorting uses the same public control styling on every Woo route. */
.woocommerce-ordering{max-width:100%}
.woocommerce-ordering select{
 box-sizing:border-box;
 display:inline-block;
 width:18.5rem;
 max-width:100%;
 min-width:0;
 min-height:46px;
 margin:0;
 padding:11px 42px 11px 16px;
 border:1px solid var(--hsc-color-line);
 border-radius:var(--hsc-radius-small);
 background-color:var(--hsc-color-paper);
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m3 6 5 5 5-5' stroke='%23173f34' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 background-repeat:no-repeat;
 background-position:right 16px center;
 background-size:14px 14px;
 color:var(--hsc-color-pine);
 font-family:var(--hsc-font-body);
 font-size:.95rem;
 font-weight:650;
 line-height:1.4;
 vertical-align:top;
 cursor:pointer;
 -webkit-appearance:none;
 appearance:none;
}
.woocommerce-ordering select:hover{border-color:var(--hsc-color-pine-soft);background-color:var(--hsc-color-cream)}
.woocommerce-ordering select:focus{border-color:var(--hsc-color-pine);outline:2px solid var(--hsc-color-pine);outline-offset:3px}
.woocommerce-ordering select option{background:var(--hsc-color-paper);color:var(--hsc-color-pine)}
@media (max-width:620px){
 .woocommerce-ordering select{width:100%;font-size:1rem}
}
@media (forced-colors:active){
 .woocommerce-ordering select{-webkit-appearance:auto;appearance:auto;background-image:none}
}


/* Compact public-page rhythm. The homepage keeps its intentionally roomier opening composition. */
.hsc-tight-page-top #content > .hsc-site-container{
 padding-top:clamp(18px,2vw,26px)!important;
}
.hsc-tight-page-top #primary{margin-top:0}

/* Compact icon-only account access beside the header cart. */
.hsc-header-account-item{
 display:flex;
 align-items:center;
 margin:0 .28rem;
 list-style:none;
}
.hsc-header-account-link{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 width:36px;
 height:36px;
 min-width:36px;
 min-height:36px;
 padding:0!important;
 color:var(--hsc-link-pine)!important;
 line-height:1;
 text-decoration:none!important;
 border:1px solid rgba(35,79,57,.22);
 border-radius:50%;
 background:rgba(255,253,248,.72);
 transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.hsc-header-account-link:hover{
 color:var(--hsc-link-pine-dark)!important;
 border-color:rgba(35,79,57,.42);
 background:var(--hsc-color-paper);
 transform:translateY(-1px);
}
.hsc-header-account-icon{
 display:inline-flex;
 width:17px;
 height:17px;
 flex:0 0 17px;
}
.hsc-header-account-icon svg{
 display:block;
 width:100%;
 height:100%;
 fill:currentColor;
}

/* Shared page-level eyebrow language. */
.hsc-story-kicker,
.hsc-account-kicker,
.hsc-cart-kicker,
.hsc-contact-kicker,
.hsc-policy-kicker,
.hsc-editorial-kicker,
.hsc-guides-hub-eyebrow{
 margin:0 0 6px!important;
 color:var(--hsc-color-rust);
 font-family:var(--hsc-font-body);
 font-size:.72rem!important;
 font-weight:760;
 line-height:1.25;
 letter-spacing:.16em;
 text-transform:uppercase;
}

/* Footer hierarchy and calmer spacing. */
.site-footer,
.hsc-site-footer{
 background:var(--hsc-color-pine);
 color:var(--hsc-color-cream-deep);
}
.site-footer .widget,
.site-footer .wp-block-group,
.site-footer .wp-block-heading,
.site-footer p,
.site-footer li,
.site-footer .menu-link,
.hsc-site-footer .widget,
.hsc-site-footer p{
 color:var(--hsc-color-cream-deep);
}
.site-footer h2,
.site-footer h3,
.site-footer .widget-title,
.hsc-site-footer h2,
.hsc-site-footer h3,
.hsc-site-footer .widget-title{
 margin:0 0 .55rem;
 color:#fff7ea;
 font-family:var(--hsc-font-display);
 font-size:clamp(1.8rem,1.35rem + 1.2vw,3rem);
 font-weight:600;
 line-height:1.02;
 letter-spacing:-.03em;
 text-wrap:balance;
}
.site-footer p,
.hsc-site-footer p{
 line-height:1.7;
 color:rgba(245,237,222,.9);
}
.site-footer a,
.hsc-site-footer a{
 color:#fff8eb!important;
 border-bottom-color:rgba(245,237,222,.34)!important;
}
.site-footer a:hover,
.hsc-site-footer a:hover{
 color:#fff!important;
 border-bottom-color:#d7a15f!important;
}
.hsc-footer-copyright{font-size:.93rem}

/* Header sizing belongs to the active theme. Keep one unified footer row. */
.site-footer .hsc-footer-refund-link,
.hsc-site-footer .hsc-footer-refund-link{white-space:nowrap}

@media (max-width:720px){
 .hsc-tight-page-top #content > .hsc-site-container{padding-top:16px!important}
 .hsc-header-account-link{width:36px;height:36px;min-width:36px;min-height:36px;padding:0!important}
 .hsc-header-account-icon{width:18px;height:18px;flex-basis:18px}
 .site-footer h2,
 .site-footer h3,
 .site-footer .widget-title,
 .hsc-site-footer h2,
 .hsc-site-footer h3,
 .hsc-site-footer .widget-title{font-size:clamp(1.6rem,8vw,2.3rem)}
}
