/* The supplied Kasiri Academy brand assets replace the former leaf logo. */
html body.ios-store header#ks-dk-header .logo.ks-dk-logo { display:inline-flex !important; width:112px !important; height:58px !important; align-items:center !important; justify-content:center !important; flex:0 0 112px !important; }
html body.ios-store header#ks-dk-header .logo.ks-dk-logo .kasiri-brand-image { display:block !important; width:100% !important; height:100% !important; object-fit:contain !important; }
html body.ios-store header#ks-dk-header .search.ks-dk-search-form::before { content:none !important; display:none !important; }
.ios-store .site-footer .ks-ft-logo { display:inline-flex !important; width:170px; height:105px; align-items:center; }
.ios-store .site-footer .kasiri-footer-logo { display:block; width:100%; height:100%; object-fit:contain; }
.ios-store .site-footer .kasiri-signature { display:block; width:160px; max-width:100%; height:auto; margin:8px 0 12px; }
.ios-store .kasiri-menu-logo, .ios-store .kasiri-auth-logo { display:block; width:58px; height:44px; object-fit:contain; flex:0 0 58px; }
@media (max-width:768px) {
 html body.ios-store header#ks-dk-header .logo.ks-dk-logo { display:inline-flex !important; width:65px !important; height:40px !important; flex:0 0 65px !important; }
 html body.ios-store header#ks-dk-header .ks-dk-brand-search { gap:5px !important; }
 html body.ios-store header#ks-dk-header .search.ks-dk-search-form input[name=q] { min-width:0 !important; }
}
@media (max-width:360px) {
 html body.ios-store header#ks-dk-header .logo.ks-dk-logo { width:54px !important; flex-basis:54px !important; }
}

/* Kasiri visual refresh: editorial image banners, readable typography, responsive layouts. */
html body.ios-store .ks-banner-slider-shell { border:0 !important; border-radius:22px !important; background:#eeeae0 !important; box-shadow:0 12px 35px rgba(34,55,40,.09) !important; }
html body.ios-store .ks-banner-slide-link { aspect-ratio: 1600 / 600 !important; background:#e9eee5 !important; }
html body.ios-store .ks-banner-slide-link:after { content:""; position:absolute; inset:0; background:linear-gradient(to left,rgba(248,248,240,.98) 0%,rgba(248,248,240,.88) 27%,rgba(248,248,240,.13) 65%,transparent 100%); pointer-events:none; }
html body.ios-store .ks-banner-slide-link .kasiri-hero-copy { position:absolute; z-index:2; top:50%; right:7%; transform:translateY(-50%); display:flex; flex-direction:column; align-items:flex-start; width:min(42%,470px); gap:10px; color:#233a2c; text-align:right; }
html body.ios-store .kasiri-hero-eyebrow { font:600 11px/1.4 Arial,sans-serif; letter-spacing:.19em; color:#6f8370; }
html body.ios-store .kasiri-hero-copy strong { display:block; color:#233a2c; font-size:clamp(22px,2.5vw,38px) !important; line-height:1.55 !important; font-weight:800; }
html body.ios-store .kasiri-hero-subtitle { font-size:clamp(13px,1.15vw,17px) !important; line-height:1.8; color:#526657; }
html body.ios-store .kasiri-hero-cta { background:#294a35; color:#fff; padding:9px 17px; border-radius:9px; margin-top:3px; font-size:14px !important; font-weight:700; }
html body.ios-store .shop59-promo { border-radius:16px !important; overflow:hidden; }
html body.ios-store .shop59-promo-content h2 { font-size:clamp(18px,1.5vw,25px) !important; line-height:1.7 !important; }
html body.ios-store .shop59-promo-badge, html body.ios-store .shop59-promo-cta { font-size:13px !important; line-height:1.8 !important; }
html body.ios-store .shop59-heading h2 { font-size:clamp(19px,1.6vw,24px) !important; line-height:1.7 !important; }
html body.ios-store .shop59-heading > a { font-size:13px !important; }
html body.ios-store .product-title, html body.ios-store .amazing-card-title { font-size:14px !important; line-height:1.9 !important; height:auto !important; min-height:3.8em !important; }
html body.ios-store .product-info, html body.ios-store .amazing-card-body { min-width:0; }
html body.ios-store .ks-pdp54-title { font-size:clamp(20px,2vw,28px) !important; line-height:1.8 !important; }
html body.ios-store .shop59-stories b, html body.ios-store .shop59-categories b { font-size:12px !important; line-height:1.8 !important; }
html body.ios-store .kasiri-empty-home { padding:22px; color:#526657; background:#f4f7f2; border:1px solid #e3ebe0; border-radius:14px; font-size:14px; line-height:1.8; }
@media (max-width:768px) {
 html body.ios-store .ks-banner-slide-link { aspect-ratio:auto !important; height:245px !important; }
 html body.ios-store .ks-banner-slide-link .kasiri-hero-copy { width:57%; right:6%; gap:5px; }
 html body.ios-store .ks-banner-slide-link:after { background:linear-gradient(to left,rgba(248,248,240,.99) 0%,rgba(248,248,240,.9) 34%,rgba(248,248,240,.08) 82%); }
 html body.ios-store .kasiri-hero-eyebrow { font-size:9px !important; }
 html body.ios-store .kasiri-hero-copy strong { font-size:clamp(19px,5.1vw,26px) !important; line-height:1.55 !important; }
 html body.ios-store .kasiri-hero-subtitle { font-size:12px !important; line-height:1.8; }
 html body.ios-store .kasiri-hero-cta { font-size:12px !important; padding:7px 11px; }
 html body.ios-store .shop59-promo-content h2 { font-size:16px !important; line-height:1.65 !important; }
 html body.ios-store .shop59-promo-badge, html body.ios-store .shop59-promo-cta { font-size:11px !important; }
 html body.ios-store .shop59-heading h2 { font-size:18px !important; }
 html body.ios-store .shop59-heading > a { font-size:12px !important; }
 html body.ios-store .product-title, html body.ios-store .amazing-card-title { font-size:13px !important; line-height:1.8 !important; min-height:3.6em !important; }
 html body.ios-store .shop59-stories b, html body.ios-store .shop59-categories b { font-size:11px !important; }
 html body.ios-store .shop59-services b, html body.ios-store .shop59-service-footer a { font-size:11px !important; line-height:1.7 !important; }
 html body.ios-store .shop59-categories > div { row-gap:18px !important; }
}
@media (max-width:400px) { html body.ios-store .ks-banner-slide-link { height:230px !important; } html body.ios-store .kasiri-hero-copy strong { font-size:18px !important; } }
/* Consistent text sizing for storefront navigation, controls and content. */
html body.ios-store { font-size:15px; line-height:1.85; }
html body.ios-store :is(.site-footer p,.site-footer a,.ks-pdp54-desc-text,.ks-pdp54-price-lbl,.ks-mag-desc,.ks-oc-desc-text) { font-size:14px !important; line-height:1.9 !important; }
html body.ios-store :is(.nav > a,.ks-sb56-cpill,.ks-sb56-form input,.ks-sb56-form select,.search input) { font-size:13px !important; }
html body.ios-store :is(.brand-line,.amazing-card-meta,.amazing-card-progress,.ks-stock-pill) { font-size:12px !important; line-height:1.7 !important; }
@media(max-width:768px) {
 html body.ios-store { font-size:14px; }
 html body.ios-store :is(.site-footer p,.site-footer a,.ks-pdp54-desc-text,.ks-mag-desc) { font-size:13px !important; line-height:1.9 !important; }
 html body.ios-store :is(.ks-sb56-cpill,.ks-sb56-form input,.ks-sb56-form select,.search input) { font-size:12px !important; }
 html body.ios-store :is(.brand-line,.amazing-card-meta,.amazing-card-progress,.ks-stock-pill) { font-size:11px !important; }
}

/* Category illustrations and retail campaign banners */
html body.ios-store .shop59-stories > a > span,
html body.ios-store .shop59-categories > div > a > span { background:#fff !important; border:2px solid #f1f0ee !important; padding:3px !important; overflow:hidden !important; box-shadow:none !important; }
html body.ios-store .shop59-stories > a > span img,
html body.ios-store .shop59-categories > div > a > span img { display:block !important; width:100% !important; height:100% !important; object-fit:cover !important; border-radius:50% !important; }
html body.ios-store .shop59-stories > a:hover > span,
html body.ios-store .shop59-categories > div > a:hover > span { border-color:#ef637c !important; }
html body.ios-store .ks-fresh-promos { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:14px !important; margin-top:30px !important; }
html body.ios-store .ks-fresh-tile { position:relative !important; display:flex !important; min-width:0 !important; height:215px !important; overflow:hidden !important; isolation:isolate !important; border-radius:18px !important; text-decoration:none !important; color:#263b35 !important; box-shadow:0 7px 18px rgba(42,42,42,.06) !important; }
html body.ios-store .ks-fresh-skin { background:linear-gradient(135deg,#c8f5ee,#87e3d5) !important; }
html body.ios-store .ks-fresh-hair { background:linear-gradient(135deg,#efe1ff,#d6bcf6) !important; }
html body.ios-store .ks-fresh-makeup { background:linear-gradient(135deg,#ffdfdf,#ffb1bc) !important; }
html body.ios-store .ks-fresh-featured { background:linear-gradient(135deg,#ffe9d9,#ffb2a8) !important; }
html body.ios-store .ks-fresh-tile:before { content:""; position:absolute; left:-36px; bottom:-62px; width:190px; height:190px; background:rgba(255,255,255,.28); border-radius:50%; z-index:-1; }
html body.ios-store .ks-fresh-copy { display:flex; flex-direction:column; align-items:flex-start; text-align:right; position:relative; z-index:2; padding:21px 18px; width:69%; min-width:0; }
html body.ios-store .ks-fresh-copy > span { font-size:12px !important; font-weight:700; line-height:1.6; color:#4b5c59 !important; }
html body.ios-store .ks-fresh-copy h2 { font-size:19px !important; font-weight:850 !important; line-height:1.55 !important; color:#253b36 !important; margin:7px 0 0 !important; }
html body.ios-store .ks-fresh-copy b { margin-top:auto; padding:6px 10px; background:rgba(255,255,255,.82); border-radius:8px; color:#30433e; font-size:11px !important; white-space:nowrap; line-height:1.6; }
html body.ios-store .ks-fresh-copy i, html body.ios-store .ks-fresh-button i { font-style:normal; padding-right:4px; }
html body.ios-store .ks-fresh-tile > img { position:absolute !important; width:55% !important; height:auto !important; aspect-ratio:1 !important; object-fit:cover !important; border-radius:50% !important; left:-8px !important; bottom:-8px !important; transition:transform .25s ease !important; border:4px solid rgba(255,255,255,.5); }
html body.ios-store .ks-fresh-tile:hover > img { transform:scale(1.06); }
html body.ios-store .ks-fresh-duo { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:16px !important; margin-top:30px !important; }
html body.ios-store .ks-fresh-feature { position:relative !important; display:block !important; overflow:hidden !important; min-width:0; height:280px !important; border-radius:20px !important; text-decoration:none !important; isolation:isolate; }
html body.ios-store .ks-fresh-feature-makeup { background:linear-gradient(125deg,#ffe2e7,#f9afbf) !important; }
html body.ios-store .ks-fresh-feature-payment { background:#d9f1f4 !important; }
html body.ios-store .ks-fresh-feature > img { position:absolute; z-index:-1; left:0; top:0; width:52%; height:100%; object-fit:cover; }
html body.ios-store .ks-fresh-feature-makeup > img { border-radius:0 45% 45% 0; }
html body.ios-store .ks-fresh-feature-payment > img { width:100%; object-position:left center; }
html body.ios-store .ks-fresh-feature-payment:after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(to left,#e3f8fa 8%,rgba(227,248,250,.95) 35%,rgba(227,248,250,.08) 76%); }
html body.ios-store .ks-fresh-feature-copy { position:relative; z-index:1; width:57%; height:100%; padding:25px 28px; display:flex; flex-direction:column; align-items:flex-start; text-align:right; }
html body.ios-store .ks-fresh-chip { background:rgba(255,255,255,.68); border-radius:30px; padding:4px 11px; color:#5d5560; font-size:12px !important; font-weight:700; }
html body.ios-store .ks-fresh-feature h2 { font-size:clamp(22px,2.2vw,32px) !important; line-height:1.6 !important; font-weight:800 !important; color:#35313b !important; margin:10px 0 2px !important; }
html body.ios-store .ks-fresh-feature h2 strong { color:#d54361 !important; }
html body.ios-store .ks-fresh-feature-payment h2 strong { color:#137c90 !important; }
html body.ios-store .ks-fresh-feature p { margin:0 !important; font-size:13px !important; color:#515c5b; line-height:1.9; }
html body.ios-store .ks-fresh-button { margin-top:auto; padding:8px 14px; background:#fff; border-radius:9px; font-size:12px !important; color:#3b4040; font-weight:800; white-space:nowrap; }
@media(max-width:850px) {
 html body.ios-store .ks-fresh-promos { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; }
 html body.ios-store .ks-fresh-tile { height:175px !important; }
 html body.ios-store .ks-fresh-copy { padding:15px 13px; width:70%; }
 html body.ios-store .ks-fresh-copy h2 { font-size:17px !important; }
 html body.ios-store .ks-fresh-copy > span { font-size:11px !important; }
 html body.ios-store .ks-fresh-feature { height:225px !important; }
 html body.ios-store .ks-fresh-feature-copy { padding:19px 20px; width:62%; }
 html body.ios-store .ks-fresh-feature h2 { font-size:22px !important; }
}
@media(max-width:560px) {
 html body.ios-store .ks-fresh-duo { grid-template-columns:1fr !important; gap:10px !important; }
 html body.ios-store .ks-fresh-feature { height:210px !important; }
 html body.ios-store .ks-fresh-feature-copy { padding:18px 18px; }
 html body.ios-store .ks-fresh-feature h2 { font-size:21px !important; }
 html body.ios-store .ks-fresh-feature p { font-size:12px !important; }
 html body.ios-store .ks-fresh-chip { font-size:11px !important; }
}
@media(max-width:360px) { html body.ios-store .ks-fresh-tile { height:160px !important; } html body.ios-store .ks-fresh-copy h2 { font-size:15px !important; } html body.ios-store .ks-fresh-copy b { font-size:10px !important; padding:5px 7px; } }

/* Individual full-bleed campaign artwork, separate from the category icons. */
html body.ios-store .ks-fresh-tile::before { display:none !important; }
html body.ios-store .ks-fresh-tile::after { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; background:linear-gradient(to left,rgba(255,255,255,.58) 0%,rgba(255,255,255,.3) 38%,rgba(255,255,255,0) 69%); }
html body.ios-store .ks-fresh-tile > img { position:absolute !important; inset:0 !important; z-index:0 !important; width:100% !important; height:100% !important; aspect-ratio:auto !important; object-fit:cover !important; object-position:left center !important; border:0 !important; border-radius:0 !important; }
html body.ios-store .ks-fresh-copy { width:64%; text-shadow:0 1px 6px rgba(255,255,255,.35); }
html body.ios-store .ks-fresh-copy b { box-shadow:0 3px 12px rgba(28,42,37,.08); }
html body.ios-store .ks-fresh-feature-makeup > img { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; object-position:left center; border-radius:0; }
html body.ios-store .ks-fresh-feature-makeup::after { content:""; position:absolute; z-index:0; inset:0; pointer-events:none; background:linear-gradient(to left,rgba(255,225,229,.97) 0%,rgba(255,225,229,.86) 35%,rgba(255,225,229,.05) 76%); }
html body.ios-store .ks-fresh-feature-makeup .ks-fresh-feature-copy { z-index:2; }
@media(max-width:850px) {
 html body.ios-store .ks-fresh-copy { width:65%; }
 html body.ios-store .ks-fresh-tile::after { background:linear-gradient(to left,rgba(255,255,255,.68),rgba(255,255,255,.42) 43%,transparent 75%); }
}
