/* INHA storefront: shared typography, 8 px spacing and technical editorial layout. */
:root{font-size:16px;--sf-ground:#f3f4f2;--sf-ink:#0b2e43;--sf-blue:#0868b8;--sf-muted:#465d6c;--sf-space:8px;--sf-radius:4px;--sf-body:1rem;--sf-small:.875rem;--sf-title:1.25rem;--sf-section:1.5rem;--sf-golden:1.618}
.sf-host{min-width:0;background:var(--sf-ground);position:relative}
.sf-host:empty{display:none}
.sf-stage{position:relative;isolation:isolate;color:#fff;background:var(--sf-ink);overflow:hidden;min-height:420px;padding:40px 64px 136px;display:grid;align-content:start}
.sf-photos{position:absolute;inset:0;z-index:-2}
.sf-photos:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--sf-ground),transparent 24%),linear-gradient(90deg,#061f30f5 0%,#061f30e0 38.2%,#061f3070 61.8%,#061f3010 100%)}
.sf-photo{position:absolute;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s}
.sf-photo.sf-active{opacity:1}
.sf-copy{position:relative;width:61.8%;max-width:44rem;min-width:0}
.sf-eyebrow{display:block;font-size:.75rem;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#c9e5f6}
.sf-title{font-size:clamp(2rem,2.6vw,3rem)!important;line-height:1.12!important;letter-spacing:-.025em!important;color:#fff!important;margin:12px 0 16px!important;max-width:23ch;text-wrap:balance;overflow-wrap:normal;hyphens:auto}
.sf-text{color:#f3f7fa!important;max-width:48ch;font-size:1.125rem!important;line-height:1.55!important;margin:0 0 24px!important;text-wrap:pretty}
.sf-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:12px 20px;background:var(--sf-blue);color:#fff!important;border-radius:var(--sf-radius);font-size:var(--sf-small);font-weight:700;line-height:1.4;text-decoration:none!important;text-align:center}
.sf-button:hover{background:#07518f}
.sf-prev,.sf-next{position:absolute;top:32%;width:40px;height:64px;border:0;background:#082b4680;color:#fff;font-size:48px;font-weight:300;cursor:pointer;line-height:1;padding:0;border-radius:var(--sf-radius)}
.sf-prev{left:8px}.sf-next{right:8px}
.sf-controls{position:absolute;bottom:84px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:0;background:#082b4670;border-radius:24px}
.sf-controls button{width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border:0;background:none;display:grid;place-items:center;cursor:pointer;color:#fff}
.sf-controls button>span{width:10px;height:10px;border:1px solid white;border-radius:50%;background:#ffffff60}
.sf-controls button[aria-pressed=true]>span{background:#fff}
.sf-controls .sf-pause{border-radius:50%;font-size:16px}
.sf-caption{position:absolute;right:24px;bottom:92px;background:#082b46e0;color:#fff;padding:4px 8px;border-radius:var(--sf-radius);font-size:.75rem;line-height:1.5;max-width:30%}
.sf-sign{display:none}
.sf-cards{position:relative;z-index:2;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:24px;margin:-64px 24px 32px;padding:0;align-items:stretch}
.sf-card{min-width:0;padding:20px;background:#fff;border:1px solid #dbe3e7;border-radius:var(--sf-radius);display:flex;flex-direction:column;color:var(--sf-ink)!important;text-decoration:none!important}
.sf-card h2{font-size:var(--sf-title)!important;line-height:1.25!important;min-height:2.5em;margin:0 0 16px!important;color:var(--sf-ink)!important;letter-spacing:-.015em!important;text-wrap:balance;overflow-wrap:break-word}
.sf-card-photo{position:relative;aspect-ratio:var(--sf-golden);background:#fff;overflow:hidden;border-radius:2px}
.sf-card-photo>img{width:100%;height:100%;display:block}
.sf-card p{font-size:var(--sf-small)!important;line-height:1.55!important;color:var(--sf-muted)!important;margin:16px 0!important;min-height:3.1em;text-wrap:pretty}
.sf-card>span{padding-top:12px;margin-top:auto;font-size:var(--sf-small);line-height:1.5;color:var(--sf-blue);font-weight:700}
.sf-card:hover{border-color:var(--sf-blue)}.sf-card:hover>span{text-decoration:underline;text-underline-offset:3px}
.sf-card:focus-visible,.sf-stage a:focus-visible,.sf-stage button:focus-visible{outline:3px solid #ba7300;outline-offset:4px}
.sf-manufacturer{position:absolute;left:6px;top:6px;background:#cc0024;padding:4px 6px;border-radius:2px}
.sf-card-photo .sf-manufacturer img{width:60px;height:25px;object-fit:contain}
.sf-load-error{padding:16px;font-size:var(--sf-small);color:var(--sf-muted)}
.shop-main:has(>.sf-host){max-width:1920px;background:var(--sf-ground)}
.shop-main>.sf-host{margin:-30px -24px 32px}
.shop-main:has(>.sf-host)>:not(.sf-host){max-width:1500px;margin-left:auto;margin-right:auto}
main#main>.sf-host{margin:0 -16px 32px}
.sf-stage.sf-compact{min-height:0;padding:24px 32px;background:var(--sf-ink)}
.sf-compact .sf-copy{width:100%;max-width:none;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;align-items:center}
.sf-compact .sf-eyebrow{grid-column:1;font-size:.75rem}
.sf-compact .sf-title{grid-column:1;font-size:1.5rem!important;max-width:none;margin:8px 0 0!important;line-height:1.3!important;text-wrap:initial}
.sf-compact .sf-text{display:none}.sf-compact .sf-button{grid-column:2;grid-row:1/3}
.sf-compact .sf-controls,.sf-compact .sf-caption,.sf-compact .sf-prev,.sf-compact .sf-next{display:none}
.sf-cards.sf-cards-compact{margin:16px 24px 24px;gap:16px}
.sf-cards-compact .sf-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:0 12px;padding:12px}
.sf-cards-compact .sf-card h2{grid-column:2;grid-row:1;min-height:0;margin:0 0 8px!important;font-size:.875rem!important;line-height:1.4!important;text-wrap:initial}
.sf-cards-compact .sf-card-photo{grid-column:1;grid-row:1/3;height:48px;aspect-ratio:1}
.sf-cards-compact .sf-card p,.sf-cards-compact .sf-manufacturer{display:none}
.sf-cards-compact .sf-card>span{grid-column:2;grid-row:2;padding:0;margin:0;font-size:.875rem}
.home-departments{padding:0 0 24px}.home-departments .section-title{margin-bottom:16px}.home-departments h2{font-size:var(--sf-section);margin:0}
.home-departments nav{display:flex;flex-wrap:wrap;gap:8px}
.home-departments nav a{display:flex;align-items:center;min-height:44px;padding:10px 16px;border:1px solid #bacbd5;border-radius:var(--sf-radius);background:#fff;color:var(--sf-ink);font-size:var(--sf-small);line-height:1.4;font-weight:600;text-decoration:none}
.home-departments nav a:hover{border-color:var(--sf-blue);background:#edf5fb}
.home-departments a:focus-visible{outline:3px solid #ba7300;outline-offset:3px}
.sf-stage [hidden]{display:none!important}
.shop-main>.shop-campaign,.shop-main>.inha-promotion{box-sizing:border-box;width:100%;max-width:1500px;margin-left:auto;margin-right:auto}
/* These tokens also serve search, product, account and enquiry surfaces. */
#shop-app{font-size:1rem;line-height:1.55}
#shop-app .shop-nav,#shop-app .category-toggle{font-size:.875rem}
#shop-app .main-search input{font-size:1rem}
#shop-app .service-bar{font-size:.75rem}
#shop-app .section-title h2{font-size:1.5rem;line-height:1.3}
#shop-app .section-title>a,#shop-app .shop-footer a,#shop-app .shop-footer p,#shop-app .auth-form label{font-size:.875rem;line-height:1.5}
#shop-app .product-card h3{font-size:1rem;line-height:1.45}
#shop-app .article-number,#shop-app .native-price small,#shop-app .product-brand{font-size:.875rem;line-height:1.5}
#shop-app .button{min-height:44px;font-size:.875rem;line-height:1.5;border-radius:var(--sf-radius);white-space:normal}
#shop-app .auth-form input,#shop-app .cart-line input{font-size:1rem}
#shop-app .shop-footer{line-height:1.6}
#shop-app .shop-main>h1,#shop-app .auth-form h1{font-size:2rem;line-height:1.2}
@media(max-width:1100px){.sf-stage{padding:32px 56px 136px}.sf-copy{width:75%}.sf-cards{gap:16px;margin-left:24px;margin-right:24px}.sf-card{padding:16px}.sf-card h2{font-size:1.125rem!important}.sf-caption{display:none}.sf-cards-compact .sf-card{grid-template-columns:1fr}.sf-cards-compact .sf-card-photo{display:none}.sf-cards-compact .sf-card h2,.sf-cards-compact .sf-card>span{grid-column:1}}
@media(max-width:760px){.sf-stage{min-height:0;padding:32px 44px 120px}.sf-copy{width:100%;max-width:none}.sf-title{font-size:2rem!important}.sf-text{font-size:1rem!important}.sf-photos:after{background:linear-gradient(0deg,var(--sf-ground),transparent 18%),linear-gradient(90deg,#061f30ed,#061f30c9 65%,#061f3060)}.sf-prev,.sf-next{width:32px;height:56px;top:36%;font-size:40px}.sf-prev{left:4px}.sf-next{right:4px}.sf-controls{bottom:64px}.sf-controls button{width:36px;height:36px;min-width:36px;min-height:36px}.sf-cards{grid-template-columns:repeat(2,minmax(0,1fr));margin:-40px 16px 24px;gap:16px}.sf-card{padding:16px}.sf-card h2{font-size:1.125rem!important}.sf-card p{min-height:0}.shop-main>.sf-host{margin:-20px -16px 24px}.sf-stage.sf-compact{padding:20px 16px}.sf-compact .sf-copy{grid-template-columns:1fr;gap:0}.sf-compact .sf-title{font-size:1.25rem!important}.sf-compact .sf-button{grid-column:1;grid-row:auto;justify-self:start;margin-top:16px}.sf-cards.sf-cards-compact{grid-template-columns:repeat(2,minmax(0,1fr));margin:16px;gap:12px}.sf-cards-compact .sf-card h2{font-size:.875rem!important}.sf-cards-compact .sf-card>span{font-size:.875rem}.home-departments .section-title{align-items:flex-start;gap:16px}.home-departments nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.home-departments nav a{font-size:.875rem;min-width:0;overflow-wrap:break-word;padding:10px 12px}.home-departments .section-title>a{white-space:normal;flex-shrink:1}.home-departments h2{font-size:1.25rem}main#main>.sf-host{margin:0 -10px 24px}}
@media(max-width:480px){.sf-cards:not(.sf-cards-compact){grid-template-columns:1fr}.sf-cards:not(.sf-cards-compact) .sf-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:0 16px}.sf-cards:not(.sf-cards-compact) .sf-card h2{grid-column:2;min-height:0;margin-bottom:8px!important}.sf-cards:not(.sf-cards-compact) .sf-card-photo{grid-column:1;grid-row:1/4;aspect-ratio:1;align-self:center}.sf-cards:not(.sf-cards-compact) .sf-card p{grid-column:2;margin:0 0 8px!important}.sf-cards:not(.sf-cards-compact) .sf-card>span{grid-column:2;padding-top:0}.sf-cards:not(.sf-cards-compact) .sf-manufacturer{display:none}.sf-title{font-size:1.875rem!important}}
@media(prefers-reduced-motion:reduce){.sf-photo{transition:none}}

.sf-photo[src*="/branding/"]{object-fit:contain!important;object-position:center!important;background:#fff;padding:32px 24px 80px 61.8%}@media(max-width:760px){.sf-photo[src*="/branding/"]{padding:24px;opacity:0!important}.sf-stage:has(.sf-photo.sf-active[src*="/branding/"]){background:#0b2e43}}

#shop-app .shop-nav{justify-content:safe center;overflow-x:auto}

/* Price explanations and the cart action reflow within narrow product cards. */
#shop-app .product-buy{flex-wrap:wrap;align-items:flex-end;gap:8px}#shop-app .product-buy>div{min-width:0;flex:1 1 8rem}#shop-app .product-buy .add-button{flex:0 0 44px;min-height:44px;margin-left:auto}

/* User annotations 31.10: header contents align with the main content track. */
#shop-app{--shop-frame:1920px}
#shop-app .header-main,#shop-app .shop-nav{width:100%;max-width:var(--shop-frame);margin-inline:auto}
#shop-app .header-main{padding-inline:24px}
#shop-app .service-bar{padding-inline:max(24px,calc((100% - 1920px)/2 + 24px))}
@media(min-width:1500px){#shop-app:has(.shop-main.shop-edge-host){--shop-frame:min(1500px,calc(100% - 400px))}#shop-app:has(.shop-main.shop-edge-host) .service-bar{padding-inline:max(224px,calc((100% - 1500px)/2 + 24px))}}
/* Same category links and small line icons as the existing shop menu. */
.home-departments .compact-category-menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;gap:4px 16px;padding:16px;background:#fff;border-top:3px solid var(--sf-blue);margin:0}
.home-departments .compact-category-menu>a{display:flex;justify-content:flex-start;align-items:center;gap:12px;min-width:0;min-height:44px;padding:8px;border:0;border-radius:3px;background:transparent;color:var(--sf-ink);font-size:.875rem;font-weight:400;line-height:1.45;overflow-wrap:normal;hyphens:auto}
.home-departments .compact-category-menu>a:hover{background:#edf4f8;color:var(--sf-blue)}
.home-departments .compact-category-menu>a.compact-category-all{color:var(--sf-blue);font-weight:700}
.home-departments .compact-category-menu svg{width:22px;height:22px;flex:none;color:var(--sf-blue)}
.home-departments .compact-category-menu span{min-width:0}
@media(max-width:900px){.home-departments .compact-category-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;padding:12px}.home-departments .compact-category-menu>a{gap:8px;padding:8px 4px}}
@media(max-width:760px){#shop-app .header-main{padding-inline:16px}#shop-app .service-bar{padding-inline:16px}}
@media(max-width:360px){.home-departments .compact-category-menu{grid-template-columns:1fr}}
