/* Four explicit staging layout types: full surface, wide, standard, and reading. */
:root{--hsp-content:840px;--hsp-standard:1080px;--hsp-wide:1360px;--hsp-gutter:clamp(20px,4vw,64px);--hsp-section-y:clamp(72px,7vw,112px);--wp--style--global--content-size:840px;--wp--style--global--wide-size:1360px}
.wp-site-blocks,.hsp-main,.wp-block-post-content{width:100%;max-width:none;margin-inline:0;padding-inline:0}
.page .wp-block-post-content>.hsp-hero,.page .wp-block-post-content>.hsp-section,.page .wp-block-post-content>.hsp-page-hero,.page .wp-block-post-content>.alignfull{width:100%;max-width:none;margin-inline:0}
.page .wp-block-post-content>.alignwide{width:min(var(--hsp-wide),calc(100% - 2 * var(--hsp-gutter)));max-width:var(--hsp-wide);margin-inline:auto}
.hsp-inner,.hsp-resource-library,.hsp-footer-grid,.hsp-footer-bottom{width:min(var(--hsp-wide),100%);max-width:var(--hsp-wide);margin-inline:auto}
.hsp-standard{width:min(var(--hsp-standard),calc(100% - 2 * var(--hsp-gutter)));margin-inline:auto}
.hsp-narrow,.hsp-prose,.hsp-policy-wrap{width:min(var(--hsp-content),100%)}
.hsp-section{padding-inline:var(--hsp-gutter)}
.hsp-section{padding-block:clamp(64px,7vw,96px)}
.hsp-hero{min-height:clamp(620px,75vh,760px)}
.hsp-hero-copy{padding-block:clamp(72px,8vw,104px)}
.hsp-page-hero{padding-top:clamp(72px,8vw,112px);padding-bottom:clamp(52px,6vw,80px)}
.hsp-footer{padding-top:clamp(56px,6vw,76px)}

.hsp-hero h1{font-size:clamp(48px,6vw,88px);line-height:1.03;max-width:14ch}
.hsp-page-hero h1{font-size:clamp(46px,5.7vw,78px);line-height:1.05;max-width:18ch}
.hsp-section h2{font-size:clamp(38px,4.3vw,62px);line-height:1.1;max-width:21ch}
.hsp-lead,.hsp-page-hero p{font-size:clamp(18px,1.6vw,20px);line-height:1.65}

.hsp-product-grid,
.woocommerce ul.products,
.wc-block-grid__products,
.wp-block-woocommerce-product-collection ul.products{
 display:grid!important;
 grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))!important;
 gap:clamp(22px,2.4vw,32px)!important;
 align-items:stretch;
}
.hsp-product-card,
.woocommerce ul.products li.product,
.wc-block-grid__product{
 min-width:0!important;
 width:100%!important;
 max-width:none!important;
 margin:0!important;
 display:flex!important;
 flex-direction:column;
 overflow:hidden;
}
.hsp-product-card img,
.woocommerce ul.products li.product img,
.wc-block-grid__product-image img{
 width:100%!important;
 aspect-ratio:4/5;
 object-fit:cover;
}
.hsp-product-card .hsp-card-body{display:flex;flex:1;flex-direction:column;padding:20px}
.hsp-product-card h3,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title{
 font-size:clamp(19px,1.7vw,22px)!important;
 line-height:1.22!important;
 display:-webkit-box;
 -webkit-box-orient:vertical;
 -webkit-line-clamp:3;
 overflow:hidden;
 min-height:0!important;
}
.woocommerce ul.products li.product .price,
.wc-block-grid__product-price,
.hsp-price{
 display:block!important;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
 font-size:17px!important;
 line-height:1.35!important;
 margin-block:10px 16px!important;
}
.woocommerce ul.products li.product .button,
.wc-block-grid__product-add-to-cart .wp-block-button__link,
.hsp-product-card .hsp-button{
 width:calc(100% - 32px)!important;
 margin:12px 16px 0!important;
 min-height:48px!important;
 padding-inline:14px!important;
 white-space:normal;
 text-align:center;
}
.woocommerce ul.products li.product .button{margin-top:auto!important}

.hsp-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.2vw,30px)}
.hsp-resource-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(20px,2.2vw,30px)}
.hsp-resource-grid>.hsp-resource-card{grid-column:span 2}
.hsp-resource-grid>.hsp-resource-card:nth-last-child(2):nth-child(3n + 1){grid-column:2/span 2}
.hsp-resource-grid>.hsp-resource-card:last-child:nth-child(3n + 2){grid-column:4/span 2}
.hsp-four-card-grid{grid-template-columns:repeat(4,minmax(270px,1fr))}
.hsp-content-card,.hsp-resource-card{min-width:0;height:auto!important;overflow:visible}
.hsp-content-card .hsp-card-body,.hsp-resource-card{padding:clamp(24px,2.4vw,32px)}
.hsp-content-card h3,.hsp-resource-card h3,.hsp-post-card h2{font-size:clamp(24px,2.2vw,30px);line-height:1.2;overflow-wrap:normal;word-break:normal}
.hsp-content-card h3 a,.hsp-resource-card h3 a,.hsp-post-card h2 a{text-decoration:none;text-decoration-thickness:1px;text-underline-offset:.16em}
.hsp-content-card:focus-within,.hsp-resource-card:focus-within{outline:3px solid var(--hsp-terracotta,#b8654b);outline-offset:4px}
.hsp-content-card:hover,.hsp-resource-card:hover{border-color:var(--hsp-terracotta,#b8654b);box-shadow:0 12px 30px rgba(36,49,40,.12)}
.hsp-content-card p,.hsp-resource-card p{font-size:clamp(16px,1.4vw,18px);line-height:1.6}
.hsp-meta{font-size:12px;line-height:1.4;letter-spacing:.12em}

.hsp-searchbar{display:flex;width:min(100%,900px);gap:12px;align-items:stretch;margin-block:28px 42px}
.hsp-searchbar input{flex:1 1 auto;min-width:0;min-height:50px;padding:12px 16px;border:1px solid var(--hsp-sage);background:#fff;font:inherit}
.hsp-searchbar .hsp-button{flex:0 0 auto;min-width:112px;min-height:50px;margin:0!important}
.woocommerce .woocommerce-ordering select{max-width:100%;min-height:46px}

/* Free Reset owns a page-specific namespace so its funnel layout cannot collide
   with Sanctuary's global hero, section, brand, button, and footer components. */
.hsp-free-reset{width:100%;max-width:none;margin-inline:0;padding:0;background:#f5f0e8;color:#233228}
.hsp-free-reset-wrap{width:min(1360px,calc(100% - (2 * clamp(20px,4vw,64px))));max-width:none!important;margin-inline:auto!important;padding-inline:0!important}
.hsp-free-reset-hero{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:clamp(32px,5vw,72px);align-items:center;min-height:0;padding:clamp(56px,6vw,92px);border-radius:30px;background:linear-gradient(90deg,rgba(19,36,29,.96) 0%,rgba(19,36,29,.82) 48%,rgba(19,36,29,.48) 100%),url('/wp-content/themes/hsp-sanctuary/assets/images/rainy-sanctuary.webp') center/cover no-repeat;color:#fff;box-shadow:0 24px 60px rgba(24,39,30,.18)}
.hsp-free-reset-hero h1,.hsp-free-reset-hero h2,.hsp-free-reset-hero h3{color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.28);overflow:visible!important;height:auto!important;max-height:none!important}
.hsp-free-reset-hero h1{padding-bottom:8px}
.hsp-free-reset-hero p,.hsp-free-reset-hero li{color:#f4f6f1!important}
.hsp-free-reset-hero a:not(.hsp-free-reset-button){color:#fff}
.hsp-free-reset-hero .hsp-free-reset-eyebrow{color:#f0d7c8!important}
.hsp-free-reset-hero .hsp-visual{background:rgba(249,246,239,.94);color:#233228;backdrop-filter:blur(8px)}
.hsp-free-reset-hero .hsp-visual h2,.hsp-free-reset-hero .hsp-visual h3,.hsp-free-reset-hero .hsp-visual p,.hsp-free-reset-hero .hsp-visual li{color:#233228!important;text-shadow:none}
.hsp-free-reset-section{width:100%;padding-block:clamp(64px,7vw,104px)}
.hsp-free-reset-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hsp-free-reset-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:12px 22px;border-radius:999px;text-decoration:none;font-weight:700}

@media(max-width:900px){.hsp-free-reset-hero{grid-template-columns:1fr;padding:clamp(34px,7vw,56px)}}

@media(max-width:1200px){.hsp-four-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){.hsp-product-grid,.woocommerce ul.products,.wc-block-grid__products{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))!important}.hsp-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hsp-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hsp-resource-grid>.hsp-resource-card,.hsp-resource-grid>.hsp-resource-card:nth-last-child(2):nth-child(3n + 1),.hsp-resource-grid>.hsp-resource-card:last-child:nth-child(3n + 2){grid-column:auto}}
@media(max-width:700px){.hsp-section{padding-block:clamp(44px,12vw,64px)}.hsp-hero{min-height:620px}.hsp-hero h1{font-size:clamp(44px,12.5vw,52px)}.hsp-page-hero h1{font-size:clamp(42px,11.5vw,50px)}.hsp-section h2{font-size:clamp(35px,9.5vw,42px)}.hsp-card-grid,.hsp-resource-grid,.hsp-four-card-grid{grid-template-columns:1fr}.hsp-searchbar{flex-direction:column}.hsp-searchbar input,.hsp-searchbar .hsp-button{width:100%;min-height:48px}.hsp-content-card h3,.hsp-resource-card h3{font-size:clamp(23px,6.6vw,26px)}.hsp-product-grid,.woocommerce ul.products,.wc-block-grid__products{grid-template-columns:1fr!important}.hsp-product-card h3,.woocommerce ul.products li.product h2{font-size:20px!important}}
