/* Native PrestaShop interiors. No form actions, commerce events or permissions change. */
body.hsb-theme { --hsb-ink:#183d35; --hsb-muted:#5c6d63; --hsb-paper:#f8f9f6; --hsb-sage:#edf1e8; }
/* The parent's fixed viewport-height flex shell can overlap long forms. */
body.hsb-theme>main { min-height:100vh; height:auto; }
body.hsb-theme>main>#wrapper { flex:1 0 auto; }
body.hsb-theme>main>#footer { flex:none; }
body.hsb-theme:not(#index) #main { min-width:0; }
body.hsb-theme .site-breadcrumb { padding-top:24px; padding-bottom:24px; }
body.hsb-theme .site-breadcrumb a { color:var(--hsb-muted); }
body.hsb-theme :is(.site-btn,.btn-primary,.site-btn-default-outline) { font-family:'DM Sans',sans-serif; font-weight:600; text-transform:none; border-radius:2px; transition:background-color .18s,border-color .18s,color .18s; }
body.hsb-theme .site-btn-default-outline:focus { color:var(--hsb-ink); border-color:var(--hsb-ink); }
body.hsb-theme .site-btn-default-outline:hover { color:white; }
body.hsb-theme .theme-form { border-radius:3px; border-color:var(--hsb-border); box-shadow:none; }
body.hsb-theme :is(.theme-form,.checkout-step) :is(input.form-control,select.form-control,textarea.form-control) { border:1px solid #b9c8be; border-radius:2px; background:white; color:#243c34; font-family:'DM Sans',sans-serif; font-size:16px; box-shadow:none; }
body.hsb-theme .theme-form .form-control:focus { border-color:#386958; outline:2px solid #386958!important; outline-offset:2px; }
body.hsb-theme .theme-form .error-field { border-color:#bd3932!important; }
body.hsb-theme :is(.theme-form,.checkout-step) .form-control-label { font-size:14px; line-height:1.6; font-weight:500; margin-bottom:8px; }
body.hsb-theme :is(.checkbox,.radio) input:focus-visible+label { outline:2px solid #386958; outline-offset:4px; }
body.hsb-theme .btn-show-hide-password:focus-visible { outline:2px solid #386958!important; outline-offset:-4px; }
body.hsb-theme :is(.theme-form,.login-form) .forgot-password a { text-underline-offset:4px; }
body.hsb-theme :is(.form-footer,.cart-detailed-actions) .site-btn { min-height:48px; }

/* Account overview, with or without the optional hsbpartner grouping module. */
body.hsb-theme#my-account .atplast-profile-page-content { padding:16px 0 0; }
body.hsb-theme#my-account .atplast-profile-page-content>.container { max-width:1240px; }
body.hsb-theme#my-account .hsb-account-heading { margin:4px 0 40px; padding:0; }
body.hsb-theme#my-account .hsb-account-heading h1 { margin:0 0 16px; font-size:clamp(34px,3.5vw,48px); line-height:1.15; }
body.hsb-theme#my-account .hsb-account-intro { margin:0; font:16px/1.65 'DM Sans',sans-serif; color:var(--hsb-muted); }
body.hsb-theme#my-account .atplast-profile-page-urls { padding:0 0 72px; }
body.hsb-theme#my-account .atplast-profile-page-urls>.row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:0; align-items:start; }
body.hsb-theme#my-account .atplast-profile-page-urls>.row>:is([class*='col-'],.hsbp-account-group,#hsb-partner-link) { width:auto; max-width:none; flex:none; padding:0; margin:0; min-width:0; }
body.hsb-theme#my-account .atplast-profile-page-urls>.row>style { display:none; }
body.hsb-theme#my-account .atplast-profile-page-urls>.row>[class*='col-']>.atplast-profile-page-url,
body.hsb-theme#my-account .hsbp-account-group-card>details,
body.hsb-theme#my-account #hsb-partner-link .hsbp-account-card { border:1px solid var(--hsb-border); border-radius:3px; box-shadow:none; background:#fff; color:var(--hsb-ink); text-align:left; }
body.hsb-theme#my-account .atplast-profile-page-urls>.row>[class*='col-']>.atplast-profile-page-url,
body.hsb-theme#my-account .hsbp-account-group-card>details>summary,
body.hsb-theme#my-account #hsb-partner-link .hsbp-account-card { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; min-height:220px; padding:30px; gap:0; margin:0; }
body.hsb-theme#my-account .atplast-profile-page-urls>.row>[class*='col-']>.atplast-profile-page-url { transition:background-color .18s,border-color .18s,transform .18s; }
body.hsb-theme#my-account .atplast-profile-page-urls>.row>[class*='col-']>.atplast-profile-page-url:hover { background:#edf1e8; border-color:#91a79a; transform:translateY(-2px); }
body.hsb-theme#my-account .hsbp-account-group-card>details>summary:hover { background:#f1f4ee; }
body.hsb-theme#my-account .atplast-profile-page-url .icon { justify-content:flex-start!important; width:32px; height:32px; margin:0 0 28px; color:inherit; }
body.hsb-theme#my-account .atplast-profile-page-url .icon :is(i,svg) { width:30px!important; height:30px!important; font-size:28px; top:0!important; color:inherit; }
body.hsb-theme#my-account .atplast-profile-page-url .text { min-height:0; }
body.hsb-theme#my-account .atplast-profile-page-url .text,
body.hsb-theme#my-account .hsbp-account-group-card summary strong,
body.hsb-theme#my-account #hsb-partner-link .hsbp-account-title { font:500 21px/1.35 'DM Sans',sans-serif; color:inherit; text-transform:none; letter-spacing:-.025em; max-width:none; padding-right:22px; }
body.hsb-theme#my-account .hsb-account-caption,
body.hsb-theme#my-account .hsbp-account-group-card summary small { margin-top:9px; color:var(--hsb-muted); font:14px/1.6 'DM Sans',sans-serif; }
body.hsb-theme#my-account .hsbp-account-group-card .hsbp-settings-icon,
body.hsb-theme#my-account .hsbp-account-group-card .hsbp-settings-icon svg { width:30px; height:30px; color:var(--hsb-ink); }
body.hsb-theme#my-account .hsbp-account-group-card .hsbp-settings-icon { margin:0 0 28px; }
body.hsb-theme#my-account .hsbp-account-group-card .hsbp-settings-chevron { position:absolute; top:31px; right:28px; margin:0; font-size:22px; color:var(--hsb-ink); }
body.hsb-theme#my-account .hsbp-account-group-card>details[open]>summary { min-height:220px; border-bottom:1px solid var(--hsb-border); }
/* Grouped links retain native anchor classes. Override their card hover at
   the same page specificity, including links moved into the account sidebar. */
body.hsb-theme :is(#main,.my-account-sidebar-nav) .hsbp-account-group .hsbp-settings-links a.hsbp-settings-link { font:14px/1.5 'DM Sans',sans-serif; color:var(--hsb-ink); background:transparent; border:1px solid transparent; border-radius:2px; min-height:44px; box-shadow:none; transition:background-color .15s,border-color .15s; }
body.hsb-theme :is(#main,.my-account-sidebar-nav) .hsbp-account-group .hsbp-settings-links a.hsbp-settings-link:is(:hover,:focus-visible,:active,[aria-current='page']) { background:var(--hsb-sage); color:var(--hsb-ink); border-color:var(--hsb-border); box-shadow:none; }
body.hsb-theme :is(#main,.my-account-sidebar-nav) .hsbp-account-group .hsbp-settings-links a.hsbp-settings-link:focus-visible { outline:2px solid var(--hsb-ink)!important; outline-offset:2px; }
body.hsb-theme .hsbp-settings-more { border-color:var(--hsb-border); }
body.hsb-theme .hsbp-settings-more>summary { color:var(--hsb-muted); font-family:'DM Sans',sans-serif; }
body.hsb-theme#my-account #hsb-partner-link .hsbp-account-card { background:var(--hsb-ink); color:white; border-color:var(--hsb-ink); transition:background-color .18s,transform .18s; }
body.hsb-theme#my-account #hsb-partner-link:hover .hsbp-account-card { background:#245344; transform:translateY(-2px); }
body.hsb-theme#my-account #hsb-partner-link .hsbp-account-icon { width:30px; height:30px; color:#d7e4cc; margin:0 0 28px; }
body.hsb-theme#my-account #hsb-partner-link .hsbp-account-card:after,
body.hsb-theme#my-account #history-link:after { content:'↗'; position:absolute; top:30px; right:28px; font:24px/1 'DM Sans',sans-serif; }
body.hsb-theme#my-account .atplast-profile-page-urls>.row>div:has(>#atplast-logout-link) { grid-column:1/-1; margin-top:12px; padding-top:20px; border-top:1px solid var(--hsb-border); }
body.hsb-theme#my-account .atplast-profile-page-urls>.row>div>#atplast-logout-link { display:inline-flex; flex-direction:row; align-items:center; min-height:44px; gap:10px; padding:8px 0; border:0; background:transparent; transform:none; }
body.hsb-theme#my-account #atplast-logout-link .icon { width:22px; height:22px; margin:0; }
body.hsb-theme#my-account #atplast-logout-link .icon svg { width:22px!important; height:22px!important; }
body.hsb-theme#my-account #atplast-logout-link .text { font-size:14px; padding:0; letter-spacing:0; }
body.hsb-theme#my-account #atplast-logout-link:hover { color:#a4312b; }
body.hsb-theme#my-account #atplast-logout-link:hover .text { text-decoration:underline; text-underline-offset:4px; }
body.hsb-theme#my-account #atplast-logout-link svg path { fill:currentColor; stroke:currentColor; }
body.hsb-theme :is(.atplast-profile-page-content,.my-account-sidebar-nav) [fill='#83a7d4'] { fill:currentColor!important; }
body.hsb-theme :is(.atplast-profile-page-content,.my-account-sidebar-nav) [stroke='#83a7d4'] { stroke:currentColor!important; }
body.hsb-theme .my-account-sidebar-nav { border:1px solid var(--hsb-border); border-radius:3px; background:white; padding:12px; }
body.hsb-theme .my-account-sidebar-nav :is(.hsbp-settings-icon,.hsbp-settings-icon svg) { color:var(--hsb-ink); }
body.hsb-theme .my-account-sidebar-nav .hsbp-account-group-side>details[open]>summary { background:var(--hsb-sage); border-radius:2px; }
body.hsb-theme .my-account-sidebar-nav #hsb-partner-link { font-family:'DM Sans',sans-serif; border-radius:2px; }
body.hsb-theme .my-account-sidebar-nav #hsb-partner-link .hsbp-account-icon { color:inherit; }
body.hsb-theme .my-account-sidebar-nav #hsb-partner-link:hover,
body.hsb-theme#module-hsbpartner-portal .my-account-sidebar-nav #hsb-partner-link { background:var(--hsb-ink); color:white; }
body.hsb-theme .hsbp-return-account { color:var(--hsb-ink); font-family:'DM Sans',sans-serif; }
body.hsb-theme :is(.my-order-table,.order-detail-table) { border-color:var(--hsb-border); }
body.hsb-theme .my-order-table thead { background:var(--hsb-sage); }
body.hsb-theme .my-order-table th { padding-top:18px; padding-bottom:18px; font-weight:500; text-transform:none; }
body.hsb-theme .my-order-table tbody td { border-color:var(--hsb-border); padding-top:20px; padding-bottom:20px; }

/* Authentication: quieter registration panel and a clear primary sign-in form. */
body.hsb-theme#authentication .login_register_box { max-width:1040px; }
body.hsb-theme#authentication .login_register_box>.row { display:grid; grid-template-columns:1.12fr 1fr; gap:24px; margin:0; align-items:stretch; }
body.hsb-theme#authentication .login_register_box>.row>.col-sm-6 { width:auto; max-width:none; padding:0; margin:0; min-width:0; }
body.hsb-theme#authentication .login_register_box>.row>.col-sm-6>.white-box { height:100%; padding:40px; }
body.hsb-theme#authentication .login_register_box>.row>.col-sm-6:last-child>.white-box { background:var(--hsb-sage); }
body.hsb-theme#authentication .white-box .main-title { text-align:left!important; font:500 32px/1.2 'DM Sans',sans-serif; color:var(--hsb-ink); letter-spacing:-.035em; padding-bottom:24px; margin-bottom:24px; border-color:var(--hsb-border); }
body.hsb-theme#authentication .register-text { text-align:left!important; margin:24px 0; color:var(--hsb-muted); font-size:16px; }
body.hsb-theme#authentication .white-box .theme-form { background:transparent; border:0; padding:0; }
body.hsb-theme#authentication .facebook_google_row:not(:has(a,button,iframe,input)) { display:none; }
body.hsb-theme#authentication .facebook_google_row:not(:has(a,button,iframe,input))+.additional-login-opt-title { display:none; }

/* Catalog and purchase surfaces: preserve the parent's responsive layouts. */
body.hsb-theme :is(.product-miniature,#amazzing_filter,.cart-page-table,.cart-summary,.checkout-step,.address) { border-radius:3px; border-color:var(--hsb-border); box-shadow:none; }
body.hsb-theme .product-miniature { transition:border-color .18s,box-shadow .18s; }
body.hsb-theme .product-miniature:hover { border-color:#91a79a; box-shadow:0 8px 24px #183d3509; }
body.hsb-theme .product-miniature .product-title a { color:var(--hsb-ink); }
body.hsb-theme .cart-page-table-inner { border:0; }
body.hsb-theme .cart-summary-inner { background:var(--hsb-sage); }
body.hsb-theme .product-quantity-delte .qty input.form-control { min-height:0; height:38px; border:0; background:transparent; }
body.hsb-theme .product-quantity-delte .qty { border-radius:3px; border-color:#b9c8be; }
body.hsb-theme .checkout-step .step-number { border-radius:2px; }
body.hsb-theme#cart .cart-page-container { max-width:1360px; }
body.hsb-theme#cart .cart-page-content-outer>h1 { font:500 clamp(34px,3.5vw,48px)/1.15 'DM Sans',sans-serif; letter-spacing:-.035em; margin-bottom:32px; }
body.hsb-theme#cart .cart-page-table-inner { border:0; }
body.hsb-theme#cart .cart-summary-inner { background:var(--hsb-sage); padding:28px; }
body.hsb-theme#cart .cart-summary-inner .cart-summary-adj { padding:0; }
body.hsb-theme#cart .cart-summary .site-btn { text-transform:none; }
body.hsb-theme#cart .cart-summary .title { font:500 24px/1.3 'DM Sans',sans-serif; }
body.hsb-theme#cart .cart-page-table table .product-attribute { color:var(--hsb-muted); line-height:1.6; margin-top:6px; }
body.hsb-theme#cart .cart-page-table table .product-info .title a { font-size:18px; line-height:1.35; }
body.hsb-theme#cart .cart-page-table table .product-image { min-width:100px; }
body.hsb-theme#cart .cart-page-table table .product-image .img-wrapper { width:80px; height:80px; border-radius:2px; }
body.hsb-theme#cart .cart-page-table table .product-image .img-wrapper img { max-width:78px; max-height:78px; object-fit:contain; }
body.hsb-theme#cart .product-quantity-delte .qty { min-width:92px; width:92px; height:44px; padding:0 27px; margin-right:8px; }
body.hsb-theme#cart .qty .js-cart-line-product-quantity { width:100%; height:42px; min-height:0; border:0; margin:0; padding:0; text-align:center; background:transparent; color:var(--hsb-ink); font:16px/42px 'DM Sans',sans-serif; }
body.hsb-theme#cart .qty :is(.bootstrap-touchspin-up,.bootstrap-touchspin-down) { width:27px; height:42px; line-height:42px; text-align:center; }
body.hsb-theme#cart .cart-page-table table .remove-from-cart { width:40px; height:40px; border-radius:2px; color:var(--hsb-muted); }
body.hsb-theme#cart .cart-page-table table .remove-from-cart:hover { color:#a4312b; background:#fff0ed; }
body.hsb-theme:is(#checkout,#order-confirmation) #header { top:0; position:relative; }
body.hsb-theme .checkout-header { background:var(--hsb-paper); border-bottom:1px solid var(--hsb-border); box-shadow:none; }
body.hsb-theme .checkout-header .checkout-header-logo img { width:166px; height:auto; }
body.hsb-theme .checkout-header .safe-shopping-text .text { font:500 14px/1.5 'DM Sans',sans-serif; color:var(--hsb-ink); }
body.hsb-theme :is(.product-variants,.cart-page-content,.site-product-page) [fill='#83a7d4'] { fill:var(--hsb-ink); }
body.hsb-theme :is(.product-variants,.cart-page-content,.site-product-page) [stroke='#83a7d4'] { stroke:var(--hsb-ink); }
@media(max-width:991px) {
 body.hsb-theme#my-account .atplast-profile-page-urls>.row { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.hsb-theme#authentication .login_register_box>.row>.col-sm-6>.white-box { padding:28px; }
}
@media(max-width:600px) {
 body.hsb-theme#my-account .hsb-account-heading { margin-bottom:28px; }
 body.hsb-theme#my-account .atplast-profile-page-urls>.row { grid-template-columns:minmax(0,1fr); gap:14px; }
 body.hsb-theme#my-account .atplast-profile-page-urls>.row>[class*='col-']>.atplast-profile-page-url,
 body.hsb-theme#my-account .hsbp-account-group-card>details>summary,
 body.hsb-theme#my-account .hsbp-account-group-card>details[open]>summary,
 body.hsb-theme#my-account #hsb-partner-link .hsbp-account-card { min-height:176px; padding:24px; }
 body.hsb-theme#my-account .atplast-profile-page-url .icon,
 body.hsb-theme#my-account .hsbp-account-group-card .hsbp-settings-icon,
 body.hsb-theme#my-account #hsb-partner-link .hsbp-account-icon { margin-bottom:20px; }
 body.hsb-theme#my-account .atplast-profile-page-urls>.row>div>#atplast-logout-link { min-height:44px; padding:8px 0; }
 body.hsb-theme#my-account #atplast-logout-link .icon { margin:0; }
 body.hsb-theme#authentication .login_register_box>.row { grid-template-columns:minmax(0,1fr); gap:16px; }
 body.hsb-theme#authentication .login_register_box>.row>.col-sm-6>.white-box { padding:24px; }
 body.hsb-theme .cart-page-table { padding:20px; }
 body.hsb-theme#cart .cart-page-table table .product-image { min-width:70px; }
 body.hsb-theme#cart .cart-page-table table .product-image .img-wrapper { width:60px; height:60px; }
 body.hsb-theme#cart .cart-page-table table .product-image .img-wrapper img { max-width:58px; max-height:58px; }
 body.hsb-theme#cart .cart-summary-inner { padding:24px; }
 body.hsb-theme#cart .cart-page-table .qty-total-price { flex-wrap:wrap; gap:10px; margin-top:12px; }
}
@media(prefers-reduced-motion:reduce) {
 body.hsb-theme#my-account .atplast-profile-page-url,body.hsb-theme#my-account #hsb-partner-link .hsbp-account-card { transition:none; transform:none!important; }
}
