/* Homepage layout based on the approved HEMOLEK concept. */
html { scroll-behavior:smooth; }
body { margin:0; }

.hm-shop { --hm-ink:#191919; --hm-paper:#fff; --hm-soft:#f5f5f3; --hm-rose:#b86473; --hm-blush:#f0e2e5; --hm-muted:#686463; color:var(--hm-ink); background:var(--hm-paper); font-family:'DM Sans',sans-serif; font-size:14px; line-height:1.5; container:hemolek / inline-size; position:relative; text-align:left; color-scheme:light; }
.hm-shop *,.hm-shop *::before,.hm-shop *::after { box-sizing:border-box; }
.hm-shop h1,.hm-shop h2,.hm-shop h3,.hm-shop p { margin:0; color:inherit; }
.hm-shop h1,.hm-shop h2,.hm-shop h3 { font-family:'Marcellus',Georgia,serif; font-weight:400; letter-spacing:-.035em; }
.hm-shop h2 { font-size:36px; line-height:1.16; }
.hm-shop a { color:inherit; text-decoration:none; }
.hm-shop button,.hm-shop input { font:inherit; }
.hm-icon, .hm-search-trigger { color:inherit; background:none; border:0; border-radius:0; }
.hm-shop img { display:block; max-width:100%; }
.hm-shop [hidden] { display:none !important; }
.hm-top { background:var(--hm-rose); color:#fff; min-height:30px; padding:6px 16px; text-align:center; font-size:11px; letter-spacing:.035em; }
.hm-header { position:relative; }
.hm-left { display:flex; align-items:center; }
.hm-main-header { min-height:104px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; padding:20px 4%; }
.hm-wordmark { font-family:'Marcellus',Georgia,serif; font-size:34px; line-height:1; letter-spacing:.12em; text-align:center; }
.hm-wordmark small { display:block; font-family:'DM Sans',sans-serif; font-size:10px; line-height:1; letter-spacing:.38em; margin-top:9px; }
.hm-actions { display:flex; align-items:center; justify-content:flex-end; gap:16px; }
.hm-icon { min-width:44px; height:44px; padding:10px; display:inline-flex; align-items:center; justify-content:center; gap:7px; }
.hm-icon svg { width:20px; height:20px; stroke-width:1.4; }
.hm-account { display:flex; align-items:center; gap:8px; font-size:12px; }
.hm-account svg { width:18px; }
.hm-search-trigger { display:flex; gap:10px; align-items:center; min-height:44px; padding:0; color:var(--hm-muted); font-size:12px; }
.hm-search-trigger svg { width:19px; stroke-width:1.5; }
.hm-menu-button { display:none; }
.hm-nav { display:flex; justify-content:center; gap:32px; padding:0 16px 17px; font-size:12px; }
.hm-nav a { padding:4px 0; }
.hm-nav a:hover { color:var(--hm-rose); }
.hm-search { padding:16px 4%; border-top:1px solid #e7e5e4; display:flex; gap:12px; align-items:center; }
.hm-search input { border:1px solid #ccc; background:#fff; color:#191919; width:100%; padding:12px; font-size:16px; min-width:0; }
.hm-cart-panel { position:absolute; z-index:6; top:100%; right:0; width:min(380px,100%); background:#fff; box-shadow:0 10px 35px #0002; padding:25px; }
.hm-cart-head { display:flex; align-items:center; justify-content:space-between; }
.hm-cart-head h2 { font-size:28px; }
.hm-cart-items { margin:18px 0; }
.hm-cart-line { display:grid; grid-template-columns:46px 1fr auto; gap:10px; padding:12px 0; border-bottom:1px solid #eceae8; align-items:center; font-size:12px; }
.hm-cart-line img { width:42px; height:70px; object-fit:contain; background:var(--hm-soft); }
.hm-cart-total { display:flex; justify-content:space-between; font-size:16px; margin:20px 0 8px; }
.hm-hero { display:grid; grid-template-columns:1fr 1fr; gap:2px; }
.hm-hero-panel { min-height:580px; position:relative; display:flex; align-items:flex-end; isolation:isolate; background:#514844; overflow:hidden; }
.hm-hero-panel > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 35%; z-index:-2; }
.hm-hero-panel::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,transparent 30%,#0008 100%); }
.hm-hero-copy { color:#fff; padding:35px 40px 42px; width:100%; }
.hm-hero-copy h1,.hm-hero-copy h2 { color:#fff; font-size:49px; line-height:1.04; letter-spacing:-.04em; margin-bottom:17px; max-width:380px; }
.hm-hero-copy p { font-size:13px; max-width:310px; margin-bottom:23px; }
.hm-outline { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 22px; border:1px solid currentColor; font-size:12px; letter-spacing:.01em; }
.hm-outline:hover { background:#ffffff18; }
.hm-brands { display:flex; align-items:center; justify-content:space-around; gap:25px; padding:36px 6%; background:var(--hm-soft); }
.hm-brands > a { color:#44413f; font-size:25px; letter-spacing:-.045em; }
.hm-brands .hm-brand-marti { font-family:Georgia,serif; }
.hm-brands .hm-brand-dermedic { font-size:21px; letter-spacing:.06em; }
.hm-brands .hm-brand-solgar { font-family:Georgia,serif; font-size:26px; letter-spacing:.01em; }
.hm-featured { padding:70px 4% 68px; }
.hm-section-head { text-align:center; margin-bottom:34px; }
.hm-section-head p { color:var(--hm-muted); font-size:13px; margin-top:12px; }
.hm-products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.hm-product { min-width:0; }
.hm-product-photo { position:relative; background:var(--hm-soft); height:265px; display:flex; justify-content:center; align-items:center; margin-bottom:17px; }
.hm-product-photo > img { width:100%; height:100%; object-fit:contain; padding:18px 8px; }
.hm-product .hm-brand { font-size:11px; color:var(--hm-muted); margin-bottom:3px; }
.hm-product h3 { font-family:'DM Sans',sans-serif; font-size:14px; font-weight:400; line-height:1.4; letter-spacing:0; min-height:40px; }
.hm-product .hm-size { font-size:11px; color:var(--hm-muted); margin-top:3px; }
.hm-product-bottom { display:flex; justify-content:space-between; align-items:center; margin-top:9px; }
.hm-price { font-size:14px; font-weight:500; }
.hm-add { width:44px; height:44px; display:flex; align-items:center; justify-content:center; border:1px solid #dedbd8 !important; }
.hm-add:hover { background:var(--hm-ink); color:#fff; }
.hm-add svg { width:17px; height:17px; stroke-width:1.5; }
.hm-all { text-align:center; margin-top:34px; }
.hm-link { display:inline-flex; min-height:44px; align-items:center; border-bottom:1px solid var(--hm-ink); font-size:12px; }
.hm-spotlight { display:grid; grid-template-columns:1fr 1fr; min-height:520px; }
.hm-spotlight-photo { position:relative; min-height:520px; }
.hm-spotlight-photo img { width:100%; height:100%; position:absolute; object-fit:cover; object-position:center 25%; }
.hm-spotlight-copy { padding:50px 36px 40px; text-align:center; background:#242323; color:#fff; display:flex; flex-direction:column; align-items:center; }
.hm-spotlight-copy h2 { font-size:38px; }
.hm-spotlight-copy > p { font-size:13px; color:#ded8d8; max-width:290px; margin-top:13px; }
.hm-product-pair { display:flex; align-items:center; justify-content:center; height:215px; width:100%; margin:12px 0; }
.hm-product-pair img { width:125px; height:230px; object-fit:contain; }
.hm-product-pair a:first-child { transform:rotate(-10deg) translateX(15px); }
.hm-product-pair a:last-child { transform:rotate(10deg) translateX(-15px); }
.hm-categories { padding:72px 4%; }
.hm-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:32px; }
.hm-category { display:flex; flex-direction:column; justify-content:space-between; min-height:190px; padding:28px; background:var(--hm-soft); }
.hm-category:nth-child(2) { background:var(--hm-blush); }
.hm-category:nth-child(3) { background:#e7ebe5; }
.hm-category h3 { font-size:27px; line-height:1.15; max-width:200px; }
.hm-category p { font-size:12px; color:#57524f; margin-top:10px; }
.hm-category .hm-link { align-self:flex-start; margin-top:18px; min-height:30px; }
.hm-about { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding:48px 8% 62px; align-items:center; border-top:1px solid #e8e5e3; }
.hm-about h2 { font-size:37px; }
.hm-about p { color:var(--hm-muted); font-size:14px; line-height:1.75; }
.hm-footer { background:var(--hm-soft); padding:48px 4% 22px; }
.hm-footer-main { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:24px; padding-bottom:40px; }
.hm-footer .hm-wordmark { text-align:left; font-size:29px; letter-spacing:.09em; }
.hm-footer-note { margin-top:18px !important; max-width:220px; font-size:12px; color:var(--hm-muted) !important; }
.hm-footer h3 { font-family:'DM Sans',sans-serif; font-weight:500; letter-spacing:0; font-size:13px; margin-bottom:17px; }
.hm-footer ul { padding:0; margin:0; list-style:none; display:grid; gap:11px; font-size:12px; color:var(--hm-muted); }
.hm-footer-bottom { border-top:1px solid #dedbd7; padding-top:20px; display:flex; justify-content:space-between; gap:15px; font-size:11px; color:var(--hm-muted); }
.hm-mobile-secondary { display:none; }
.hm-no-results { text-align:center; padding:28px; }
.hm-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@container hemolek (max-width:850px) {
 .hm-hero-panel { min-height:480px; }
 .hm-hero-copy { padding:30px; }
 .hm-hero-copy h1,.hm-hero-copy h2 { font-size:40px; }
 .hm-product-photo { height:220px; }
 .hm-nav { gap:22px; }
 .hm-account span { display:none; }
 .hm-search-trigger span { display:none; }
 .hm-category { padding:22px; }
 .hm-category h3 { font-size:25px; }
}
@container hemolek (max-width:600px) {
 .hm-top { font-size:10px; padding:7px 8px; min-height:29px; }
 .hm-main-header { min-height:83px; padding:12px 14px; gap:0; grid-template-columns:1fr auto 1fr; }
 .hm-wordmark { font-size:27px; letter-spacing:.08em; }
 .hm-wordmark small { font-size:8px; letter-spacing:.33em; margin-top:7px; }
 .hm-menu-button { display:inline-flex; }
 .hm-search-trigger { display:flex; order:2; min-width:36px; justify-content:center; }
 .hm-menu-button { order:1; }
 .hm-account { display:none; }
 .hm-actions { gap:0; }
 .hm-icon { padding:9px; min-width:40px; }
 .hemolek-cart-count { font-size:11px; }
 .hm-nav { display:none; }
 .hm-nav.is-open { display:grid; grid-template-columns:1fr 1fr; padding:14px 20px 20px; gap:12px; border-top:1px solid #eee; }
 .hm-nav a { min-height:35px; }
 .hm-hero { grid-template-columns:1fr; }
 .hm-hero-panel { min-height:490px; }
 .hm-hero-panel > img { object-position:center 30%; }
 .hm-hero-copy { padding:26px 25px 30px; }
 .hm-hero-copy h1 { font-size:43px; }
 .hm-hero-copy h2 { font-size:34px; }
 .hm-hero-copy p { font-size:12px; max-width:270px; margin-bottom:21px; }
 .hm-hero .hm-secondary { display:none; }
 .hm-brands { display:grid; grid-template-columns:1fr 1fr; padding:26px 22px; gap:22px 28px; text-align:center; }
 .hm-brands > a { font-size:23px; }
 .hm-brands .hm-brand-dermedic { font-size:17px; }
 .hm-brands .hm-brand-solgar { font-size:24px; }
 .hm-featured { padding:43px 20px 42px; }
 .hm-section-head { margin-bottom:25px; }
 .hm-shop h2 { font-size:29px; }
 .hm-section-head h2 { max-width:290px; margin:auto; }
 .hm-section-head p { font-size:12px; line-height:1.6; margin-top:11px; }
 .hm-products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:27px 14px; }
 .hm-product-photo { height:210px; margin-bottom:12px; }
 .hm-product-photo > img { padding:10px 0; }
 .hm-product h3 { font-size:12px; min-height:35px; }
 .hm-product .hm-brand,.hm-product .hm-size { font-size:11px; }
 .hm-price { font-size:13px; }
 .hm-add { width:40px; height:44px; }
 .hm-all { margin-top:23px; }
 .hm-mobile-secondary { display:flex; min-height:350px; }
 .hm-mobile-secondary > img { object-position:center 28%; }
 .hm-mobile-secondary h2 { font-size:35px; }
 .hm-spotlight { grid-template-columns:1fr; }
 .hm-spotlight-photo { display:none; }
 .hm-spotlight-copy { padding:36px 25px; }
 .hm-spotlight-copy h2 { font-size:32px; }
 .hm-product-pair { height:190px; }
 .hm-product-pair img { height:205px; width:116px; }
 .hm-categories { padding:43px 20px; }
 .hm-category-grid { grid-template-columns:1fr; gap:12px; margin-top:24px; }
 .hm-category { min-height:147px; padding:23px 25px; }
 .hm-category h3 { font-size:26px; max-width:none; }
 .hm-category .hm-link { margin-top:13px; }
 .hm-about { grid-template-columns:1fr; gap:20px; padding:34px 25px 42px; }
 .hm-about h2 { font-size:31px; }
 .hm-about p { font-size:13px; }
 .hm-footer { padding:37px 24px 24px; }
 .hm-footer-main { grid-template-columns:1fr 1fr; gap:30px 20px; }
 .hm-footer-brand { grid-column:1/-1; }
 .hm-footer-main > div:last-child { grid-column:auto; }
 .hm-footer-note { max-width:280px; }
 .hm-footer-bottom { flex-direction:column; gap:10px; }
}
@container hemolek (max-width:350px) {
 .hm-wordmark { font-size:23px; }
 .hm-hero-copy h1 { font-size:39px; }
 .hm-featured { padding-left:15px; padding-right:15px; }
 .hm-product-photo { height:185px; }
}

/* WordPress, navigation and native commerce integration. */
.hm-shop { overflow-wrap:break-word; }
.hm-shop button, .hm-shop a { -webkit-tap-highlight-color:transparent; }
.hm-shop button { cursor:pointer; }
.hm-shop :focus-visible { outline:2px solid #9b4355; outline-offset:5px; }
.hm-skip-link { position:fixed; z-index:100000; top:8px; left:8px; transform:translateY(-180%); padding:12px 18px; background:#fff; color:#191919; }
.hm-skip-link:focus { transform:none; }
.screen-reader-text { border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; width:1px; margin:-1px; overflow:hidden; padding:0; position:absolute !important; word-wrap:normal !important; }
.hm-branding { min-width:0; }
.hm-wordmark { display:inline-block; }
.hm-branding img, .hm-footer-brand img { width:auto; max-width:220px; height:auto; max-height:70px; object-fit:contain; }
.hm-nav .hm-menu { display:flex; flex-wrap:wrap; gap:12px 32px; justify-content:center; margin:0; padding:0; list-style:none; }
.hm-nav li { position:relative; }
.hm-nav a { display:block; }
.hm-nav .sub-menu { position:absolute; z-index:10; left:0; top:100%; min-width:200px; padding:14px 20px; margin:0; list-style:none; background:#fff; border:1px solid #e7e5e4; visibility:hidden; opacity:0; }
.hm-nav li:hover > .sub-menu, .hm-nav li:focus-within > .sub-menu { visibility:visible; opacity:1; }
.hm-search-form { display:flex; width:100%; gap:8px; align-items:center; }
.hm-search-form label { flex:1; min-width:0; }
.hm-search-form button { padding:12px 18px; border:1px solid #191919; background:#191919; color:#fff; min-height:44px; }
.hm-cart-panel { max-height:70vh; overflow-y:auto; }
.hm-cart-panel ul.cart_list { list-style:none; margin:20px 0; padding:0; }
.hm-cart-panel ul.cart_list li { position:relative; padding:12px 0 12px 28px; min-height:80px; border-bottom:1px solid #e7e5e4; }
.hm-cart-panel ul.cart_list li::after { content:''; display:block; clear:both; }
.hm-cart-panel ul.cart_list img { width:50px; height:65px; object-fit:contain; float:right; margin-left:10px; }
.hm-cart-panel .remove { position:absolute; left:0; top:12px; font-size:22px; }
.hm-cart-panel .quantity { display:block; margin-top:6px; font-size:12px; color:var(--hm-muted); }
.hm-cart-panel .total { padding:12px 0; border-top:1px solid #e7e5e4; }
.hm-cart-panel .buttons { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.hm-cart-panel .button { display:inline-block; padding:12px 16px; background:#191919; color:#fff; }
.hm-cart-panel .woocommerce-mini-cart__empty-message { padding:20px 0; }
.hm-product { display:flex; flex-direction:column; }
.hm-product h3 { min-height:60px; }
.hm-product-bottom { margin-top:auto; padding-top:12px; gap:8px; flex-wrap:wrap; }
.hm-product-bottom .hm-add { flex:0 0 44px; }
.hm-product-bottom .added_to_cart { width:100%; font-size:12px; text-decoration:underline; }
.hm-price del { font-size:12px; color:var(--hm-muted); }
.hm-price ins { background:none; text-decoration:none; }
.hm-price .woocommerce-Price-amount { white-space:nowrap; }
.hm-stock { font-size:11px; color:var(--hm-muted); margin-top:6px !important; }
.hm-sale { position:absolute; top:10px; left:10px; padding:4px 8px; background:var(--hm-blush); font-size:11px; }
.hm-add.loading { opacity:.4; pointer-events:none; }
.hm-add.added { border-color:var(--hm-rose) !important; }
.hm-product-pair a { display:block; }
.hm-content { max-width:1280px; padding:60px 4% 80px; margin:0 auto; min-height:50vh; }
.hm-content h1 { font-size:clamp(32px,4vw,48px); line-height:1.12; margin-bottom:32px; }
.hm-content h2, .hm-content h3 { margin:24px 0 16px; }
.hm-entry-content > * { margin-bottom:1.5em; }
.hm-entry-content p, .hm-content article > p { margin-bottom:1.25em; }
.hm-entry-content a:not(.button):not(.wp-element-button) { text-decoration:underline; }
.hm-content input, .hm-content select, .hm-content textarea { max-width:100%; padding:10px; font:inherit; }
.hm-content img { height:auto; }
.hm-content table { border-collapse:collapse; max-width:100%; }
.hm-content .wp-block-table { overflow-x:auto; }
.hm-content .woocommerce-breadcrumb { margin-bottom:24px; }
.hm-commerce .woocommerce-products-header__title { margin-bottom:24px; }
.hm-content ul.products li.product h2 { font-family:'DM Sans',sans-serif; font-size:16px; letter-spacing:0; }
.hm-post-list article { margin-bottom:36px; padding-bottom:24px; border-bottom:1px solid #e7e5e4; }
.hm-footer-bottom > div { display:flex; gap:18px; flex-wrap:wrap; }
@container hemolek (min-width:1400px) {
    .hm-hero-panel { min-height:650px; }
    .hm-hero-copy { padding:48px 8%; }
    .hm-hero-copy h1, .hm-hero-copy h2 { font-size:58px; max-width:460px; }
    .hm-featured, .hm-categories { padding-left:max(4%,calc((100vw - 1280px)/2)); padding-right:max(4%,calc((100vw - 1280px)/2)); }
    .hm-product-photo { height:320px; }
}
@container hemolek (max-width:850px) {
    .hm-nav .hm-menu { gap:10px 22px; }
}
@container hemolek (max-width:600px) {
    .hm-nav.is-open, .hm-shop:not(.hm-enhanced) .hm-nav { display:block; padding:14px 20px 20px; }
    .hm-nav .hm-menu { display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; }
    .hm-nav .sub-menu { position:static; visibility:visible; opacity:1; min-width:0; padding:4px 0 4px 10px; border:0; }
    .hm-nav .sub-menu a { font-size:11px; }
    .hm-branding img { max-width:150px; max-height:50px; }
    .hm-search { padding:12px 16px; gap:4px; }
    .hm-search-form button { padding:12px 10px; }
    .hm-product h3 { min-height:52px; }
    .hm-content { padding:34px 20px 50px; }
    .hm-content h1 { margin-bottom:24px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
