/* ==========================================================================
   Sookoon — design layer on top of Glozin
   1. Tokens (Sookoon + Glozin variables)   9.  Shop / category
   2. Base & typography                      10. Single product
   3. Building blocks (buttons, chips…)      11. Cart, checkout, mini-cart
   4. Announcement bar                       12. Account & login
   5. Header (desktop, mobile, search)       13. Journal & pages
   6. Mobile menu panel                      14. Reassurance, newsletter, footer
   7. Home sections                          15. 404 & misc
   8. Product cards
   ========================================================================== */

/* 1. Tokens ---------------------------------------------------------------- */
:root {
	--sk-ink: #111111;
	--sk-white: #ffffff;
	--sk-sand: #f2f2f2;
	--sk-line: #e5e5e5;
	--sk-chip-line: #d6d6d6;
	--sk-muted: #6b6b6b;
	--sk-muted-strong: #595959;
	--sk-accent: #a94c2a;
	--sk-accent-dark: #843b21;
	--sk-accent-light: #d09d8a;
	--sk-accent-soft: #eedbd4;
	--sk-accent-tint: #f6edea;
	--sk-divider: #2b2b2b;
	--sk-serif: "Instrument Serif", "Cormorant Garamond", Georgia, serif;
	--sk-sans: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
	--sk-gutter: 56px;
	--sk-max: 1328px;
	--sk-gap: 20px;
	--sk-section: 88px;
	--sk-r-card: 12px;
	--sk-r-panel: 20px;
	--sk-r-band: 24px;

	/* Glozin variables → Sookoon */
	--gz-body-font: var(--sk-sans);
	--gz-body-font-size: 15px;
	--gz-body-line-height: 1.6;
	--gz-color-base: var(--sk-ink);
	--gz-color-dark: var(--sk-ink);
	--gz-color-grey: var(--sk-muted);
	--gz-color-light-grey: var(--sk-sand);
	--gz-color-dark-grey: var(--sk-muted);
	--gz-color-primary: var(--sk-accent);
	--gz-link-color: var(--sk-ink);
	--gz-link-color-hover: var(--sk-accent);
	--gz-color-price-sale: var(--sk-accent);
	--gz-border-color: var(--sk-line);
	--gz-image-rounded: var(--sk-r-card);
	--gz-image-rounded-product-card: var(--sk-r-card);
	--gz-heading-font: var(--sk-serif);
	--gz-heading-font-weight: 400;
	--gz-heading-letter-spacing: -0.012em;
	--gz-heading-line-height: 1.08;
	--gz-button-font-weight: 500;
	--gz-button-rounded: 999px;
	--gz-button-bg-color: var(--sk-ink);
	--gz-button-bg-color-hover: #2b2b2b;
	--gz-button-eff-bg-color-hover: #2b2b2b;
	--gz-input-border-color: var(--sk-chip-line);
	--gz-input-border-color-hover: var(--sk-ink);
	--gz-input-color: var(--sk-ink);
}
@media (max-width: 1199px) { :root { --sk-gutter: 32px; --sk-gap: 16px; --sk-section: 64px; } }
@media (max-width: 767px)  { :root { --sk-gutter: 20px; --sk-gap: 12px; --sk-section: 48px; } }

/* 2. Base & typography ------------------------------------------------------ */
body.sookoon { color: var(--sk-ink); -webkit-font-smoothing: antialiased; background: var(--sk-white); }
.sookoon h1, .sookoon h2, .sookoon .h1, .sookoon .h2, .sookoon .h3 { font-family: var(--sk-serif); font-weight: 400; }
.sookoon h3, .sookoon h4, .sookoon h5, .sookoon h6 { font-family: var(--sk-sans); font-weight: 500; letter-spacing: 0; }
.sookoon em { font-style: italic; }
.sookoon :focus-visible { outline: 2px solid var(--sk-accent); outline-offset: 2px; }
.sookoon ::selection { background: var(--sk-accent-soft); color: var(--sk-ink); }
.sookoon .site-header :focus-visible, .sk-footer :focus-visible { outline-color: var(--sk-accent-light); }

/* One content width everywhere: 1328px + gutters (design grid). */
.sookoon .container, .sookoon .container-xxl, .sk-container {
	max-width: calc(var(--sk-max) + 2 * var(--sk-gutter));
	padding-left: var(--sk-gutter);
	padding-right: var(--sk-gutter);
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}
.sookoon .site-header .container-fluid { max-width: calc(var(--sk-max) + 2 * var(--sk-gutter)); padding-left: var(--sk-gutter); padding-right: var(--sk-gutter); margin: 0 auto; }

/* 3. Building blocks -------------------------------------------------------- */
.sk-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 0 28px; border-radius: 999px; border: 1px solid var(--sk-ink);
	font: 500 15px/1 var(--sk-sans); text-decoration: none; cursor: pointer; transition: background .2s, color .2s, border-color .2s;
}
.sk-btn--dark { background: var(--sk-ink); color: var(--sk-white); }
.sk-btn--dark:hover { background: #2b2b2b; color: var(--sk-white); }
.sk-btn--outline { background: transparent; color: var(--sk-ink); }
.sk-btn--outline:hover { background: var(--sk-ink); color: var(--sk-white); }
.sk-btn.loading { opacity: .6; pointer-events: none; }

.sk-chip {
	display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px;
	border: 1px solid var(--sk-chip-line); border-radius: 999px; background: var(--sk-white);
	color: var(--sk-ink); font: 400 14px/1 var(--sk-sans); text-decoration: none; white-space: nowrap; cursor: pointer;
	transition: border-color .2s, background .2s, color .2s;
}
.sk-chip:hover { border-color: var(--sk-ink); color: var(--sk-ink); }
.sk-chip.is-active, .sk-chip--dark { background: var(--sk-ink); border-color: var(--sk-ink); color: var(--sk-white); }
.sk-chip.is-active:hover, .sk-chip--dark:hover { color: var(--sk-white); background: #2b2b2b; }
.sk-chip .sk-icon { width: 16px; height: 16px; }
.sk-chips { display: flex; flex-wrap: wrap; gap: 8px; }

.sk-icon { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.sk-eyebrow { display: block; font: 600 12px/1.3 var(--sk-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--sk-accent); }
.sk-eyebrow--ink { color: var(--sk-ink); }
.sk-link-arrow {
	display: inline-flex; align-items: center; gap: 8px; padding-bottom: 3px;
	border-bottom: 1px solid currentColor; color: var(--sk-ink); font: 400 15px/1.2 var(--sk-sans); text-decoration: none; white-space: nowrap;
}
.sk-link-arrow .sk-icon { width: 16px; height: 16px; transition: transform .2s; }
.sk-link-arrow:hover .sk-icon { transform: translateX(3px); }
.sk-link-arrow--plain { border-bottom: 0; }
.sk-center { text-align: center; margin: 32px 0 0; }

.sk-section { padding-top: var(--sk-section); }
.sk-section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.sk-section__title { margin: 0; font-family: var(--sk-serif); font-weight: 400; font-size: clamp(30px, 3.2vw, 44px); line-height: 1.05; letter-spacing: -0.015em; color: var(--sk-ink); }
.sk-section__lead { margin: 10px 0 0; color: var(--sk-muted); font-size: 15px; }

/* 4. Announcement bar (Glozin campaign bar) -------------------------------- */
.sookoon .campaign-bar { height: 38px; min-height: 38px; font-size: 13px; letter-spacing: .02em; border-bottom: 1px solid var(--sk-divider); }
.sookoon .campaign-bar .campaign-bar__text { font-size: 13px; }
.sookoon .campaign-bar .swiper-button-text { display: none; }
.sookoon .campaign-bar__close { color: #fff; opacity: .6; }
.sookoon .campaign-bar__close:hover { opacity: 1; }
@media (max-width: 767px) { .sk-announce__part--extra { display: none; } .sookoon .campaign-bar { height: 34px; min-height: 34px; } }

/* 5. Header --------------------------------------------------------------- */
.sookoon .site-header { background: var(--sk-ink); }
.sookoon .site-header__desktop .header-main .site-header__container { display: grid !important; grid-template-columns: 200px minmax(0, 1fr) auto; column-gap: 40px; }
.sookoon .site-header__desktop .header-main .header-items { flex: none !important; min-width: 0; }
.sookoon .site-header__desktop .header-bottom { border-top: 1px solid var(--sk-divider); }
.sookoon .header-logo img { display: block; max-width: 100%; }
.sookoon .site-header__desktop .header-logo img { width: 162px; height: auto; }

/* search pill */
.sk-search { width: 100%; max-width: 760px; margin: 0 auto; }
.sk-search .header-search__form { display: flex; align-items: center; gap: 8px; height: 48px; padding: 0 4px 0 20px; border-radius: 999px; background: var(--sk-white); }
.sk-search .header-search__field {
	flex: 1; min-width: 0; height: 100%; padding: 0 !important; border: 0 !important; background: transparent !important;
	box-shadow: none !important; color: var(--sk-ink); font-size: 15px; border-radius: 0;
}
.sk-search .header-search__field::placeholder { color: #8a8a8a; opacity: 1; }
.sk-search .close-search-results { position: static !important; color: var(--sk-muted); --gz-button-width: 32px; }
.sk-search .close-search-results.invisible { display: none; }
.sk-search__submit, .sk-search-pill__btn {
	display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
	width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%;
	background: var(--sk-accent) !important; color: var(--sk-white) !important; cursor: pointer; transition: background .2s;
}
.sk-search__submit:hover { background: var(--sk-accent-dark) !important; }
.sk-search__submit .sk-icon, .sk-search-pill__btn .sk-icon { width: 18px; height: 18px; }
/* Glozin instant-search results dropdown */
.sookoon .site-header .header-search .search-results, .sookoon .header-search .gz-instant-search__results { border-radius: 16px; overflow: hidden; margin-top: 8px; box-shadow: 0 18px 40px rgba(0,0,0,.18); color: var(--sk-ink); }

/* account link + icons */
.sk-account__link { display: inline-flex !important; align-items: center; gap: 8px; height: 44px; padding: 0 14px !important; width: auto !important; border-radius: 999px; color: #fff !important; font: 500 14px/1 var(--sk-sans); white-space: nowrap; }
.sk-account__link:hover { opacity: .75; }
.site-header__desktop .sk-account__icon { display: none; }
.sookoon .site-header .header-wishlist, .sookoon .site-header .header-cart { color: #fff; }
.sookoon .site-header .header-counter-content { --gz-button-width: 44px; --gz-button-height: 44px; width: 44px; height: 44px; justify-content: center; }
.sookoon .site-header .header-counter-content .glozin-svg-icon svg { width: 20px; height: 20px; }
.sookoon .site-header .header-counter { top: 4px; right: 2px; min-width: 17px; height: 17px; font-size: 10px; line-height: 17px; }
.sookoon .site-header .header-counter.empty-counter { display: none; }

/* category menu */
.sookoon .site-header .header-bottom .main-navigation .nav-menu { gap: 30px; }
.sookoon .site-header .header-bottom .main-navigation .nav-menu > li { padding: 0; margin: 0; }
.sookoon .site-header .header-bottom .main-navigation .nav-menu > li > a {
	position: relative; padding: 11px 0; color: #fff; font: 400 14px/1.6 var(--sk-sans); letter-spacing: 0; text-transform: none;
}
.sookoon .site-header .header-bottom .main-navigation .nav-menu > li > a::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: #fff; transform: scaleX(0); transition: transform .2s;
}
.sookoon .site-header .header-bottom .main-navigation .nav-menu > li > a:hover::after,
.sookoon .site-header .header-bottom .main-navigation .nav-menu > li.current-menu-item > a::after,
.sookoon .site-header .header-bottom .main-navigation .nav-menu > li.current-product_cat-ancestor > a::after { transform: scaleX(1); }
.sookoon .site-header .main-navigation .nav-menu > li > a::before { display: none; }
.sookoon .site-header .main-navigation .sk-menu-accent > a { color: var(--sk-accent-light) !important; }
.sookoon .site-header .main-navigation .sk-menu-accent > a::after { background: var(--sk-accent-light); }

/* mobile / tablet header */
.sookoon .site-header__mobile .header-mobile-main .site-header__container,
.sookoon .site-header__mobile .header-mobile-bottom .site-header__container { padding-left: var(--sk-gutter); padding-right: var(--sk-gutter); max-width: none; }
.sookoon .site-header__mobile .header-hamburger { color: #fff; --gz-button-width: 44px; width: 44px; height: 44px; margin-left: -12px; }
.sookoon .site-header__mobile .header-logo img { width: 132px; height: auto; margin: 0 auto; }
.sookoon .site-header__mobile .header-right-items { margin-right: -10px; }
.sookoon .site-header__mobile .header-mobile-bottom { height: auto !important; padding: 2px 0 12px; }
.sookoon .site-header__mobile .header-mobile-bottom .header-center-items { justify-content: stretch !important; }
.sk-search-pill {
	display: flex !important; align-items: center; justify-content: space-between; gap: 8px; width: 100% !important; height: 44px !important;
	padding: 0 3px 0 20px !important; border-radius: 999px; background: var(--sk-white); color: #8a8a8a !important; font: 400 15px/1 var(--sk-sans); text-decoration: none;
}
.sk-search-pill__btn { width: 38px; height: 38px; }
@media (min-width: 768px) and (max-width: 1199px) { .sk-search-pill { max-width: 640px; margin: 0 auto; } }

/* Glozin search modal (mobile) */
.sookoon .search-modal .modal__header, .sookoon #search-modal .modal__header { border-bottom-color: var(--sk-line); }

/* 6. Mobile menu panel ------------------------------------------------------ */
.sookoon .hamburger-panel .panel__container, .sookoon #mobile-menu-panel .panel__container { background: var(--sk-white); }
.sookoon .hamburger-panel .nav-menu > li > a, .sookoon .header-category-menu .nav-menu > li > a { font: 400 26px/1.25 var(--sk-serif); color: var(--sk-ink); padding: 12px 0; }
.sookoon .hamburger-panel .nav-menu > li { border-bottom: 1px solid var(--sk-line); }
.sookoon .hamburger-panel .sk-menu-accent > a { color: var(--sk-accent) !important; }

/* 7. Home ------------------------------------------------------------------ */
.sookoon.home .page-header, .sookoon.home #page-header { display: none; }
.sookoon.home .site-content { padding-top: 0; }
.sk-home { overflow: hidden; }

/* 7.1 welcome + circles */
.sk-welcome { background: var(--sk-accent-tint); padding: 48px 0 44px; text-align: center; }
.sk-welcome__title { margin: 0; font-family: var(--sk-serif); font-weight: 400; font-size: clamp(32px, 3.4vw, 48px); line-height: 1.04; letter-spacing: -0.015em; color: var(--sk-ink); }
.sk-welcome__title em { color: var(--sk-accent); }
.sk-welcome__lead { margin: 10px auto 0; max-width: 620px; font-size: 17px; line-height: 1.65; color: var(--sk-muted); }
.sk-circles { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 16px; margin: 32px 0 0; padding: 0; list-style: none; }
.sk-circle { display: flex; flex-direction: column; align-items: center; gap: 10px; color: var(--sk-ink); text-decoration: none; }
.sk-circle__img {
	display: block; width: 100%; max-width: 132px; aspect-ratio: 1; border-radius: 50%; overflow: hidden; background: #e8e8e8;
	box-shadow: 0 0 0 4px var(--sk-white); transition: transform .25s, box-shadow .25s;
}
.sk-circle__img svg, .sk-circle__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sk-circle:hover .sk-circle__img { transform: translateY(-3px); box-shadow: 0 0 0 4px var(--sk-white), 0 10px 24px rgba(0,0,0,.08); }
.sk-circle__label { font-size: 15px; font-weight: 500; line-height: 1.25; text-align: center; }
.sk-circle:hover { color: var(--sk-accent); }
@media (max-width: 1199px) {
	.sk-circles { display: flex; gap: 12px; overflow-x: auto; margin: 28px calc(-1 * var(--sk-gutter)) 0; padding: 4px var(--sk-gutter) 8px; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.sk-circles::-webkit-scrollbar { display: none; }
	.sk-circles > li { flex: 0 0 96px; scroll-snap-align: start; }
	.sk-circle__label { font-size: 14px; }
}
@media (max-width: 767px) { .sk-welcome { padding: 32px 0 28px; } .sk-welcome__lead { font-size: 15px; } }

/* 7.2 promo trio */
.sk-promos { padding-top: 40px; }
.sk-promos__grid { display: grid; grid-template-columns: minmax(0, 1.76fr) minmax(0, 1fr); grid-template-rows: 1fr 1fr; gap: var(--sk-gap); }
.sk-promo { position: relative; display: flex; align-items: center; gap: 24px; border-radius: var(--sk-r-panel); overflow: hidden; text-decoration: none; color: var(--sk-ink); min-height: 220px; padding: 0 26px; transition: transform .25s; }
.sk-promo:hover { color: inherit; transform: translateY(-2px); }
.sk-promo__body { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; flex: 1; min-width: 0; }
.sk-promo__title { font: 400 32px/1.1 var(--sk-serif); letter-spacing: -0.01em; }
.sk-promo__text { font-size: 15px; line-height: 1.5; }
.sk-promo__cta { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; font-weight: 600; font-size: 14px; }
.sk-promo__cta .sk-icon { width: 15px; height: 15px; }
.sk-promo__disc { flex: 0 0 132px; width: 132px; height: 132px; border-radius: 50%; overflow: hidden; background: var(--sk-white); }
.sk-promo__disc svg { width: 100%; height: 100%; display: block; }
.sk-promo--accent { background: var(--sk-accent); color: var(--sk-white); }
.sk-promo--dark { background: var(--sk-ink); color: var(--sk-white); }
.sk-promo--accent:hover, .sk-promo--dark:hover { color: var(--sk-white); }
.sk-promo--hero { grid-row: 1 / span 2; background: var(--sk-sand); padding: 0; align-items: stretch; gap: 0; min-height: 460px; }
.sk-promo--hero .sk-promo__body { flex: 0 0 44%; justify-content: center; gap: 16px; padding: 40px; }
.sk-promo--hero .sk-promo__title { font-size: clamp(34px, 3.1vw, 44px); line-height: 1.05; }
.sk-promo--hero .sk-promo__text { color: var(--sk-muted-strong); font-size: 16px; line-height: 1.6; }
.sk-promo--hero .sk-btn { margin-top: 8px; }
.sk-promo__art { flex: 1; min-width: 0; background: #e3e3e3; }
.sk-promo__art svg { display: block; width: 100%; height: 100%; }
@media (max-width: 1199px) {
	.sk-promos__grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
	.sk-promo--hero { grid-column: 1 / -1; grid-row: auto; min-height: 380px; }
}
@media (max-width: 767px) {
	.sk-promos { padding-top: 28px; }
	.sk-promos__grid { grid-template-columns: 1fr; gap: 12px; }
	.sk-promo--hero { flex-direction: column-reverse; min-height: 0; }
	.sk-promo--hero .sk-promo__art { flex: none; height: 220px; }
	.sk-promo--hero .sk-promo__body { padding: 28px 24px 26px; }
	.sk-promo { min-height: 136px; padding: 0 20px; }
	.sk-promo__title { font-size: 28px; }
	.sk-promo__disc { flex-basis: 96px; width: 96px; height: 96px; }
}

/* 7.3 le look complet */
.sk-look__panel { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 48px; align-items: center; background: var(--sk-sand); border-radius: var(--sk-r-band); padding: 40px; }
.sk-look__scene { position: relative; border-radius: 16px; overflow: visible; }
.sk-look__scene > svg { display: block; width: 100%; height: auto; border-radius: 16px; }
.sk-look__spot {
	position: absolute; transform: translate(-50%, -50%); width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%;
	background: var(--sk-white); color: var(--sk-ink); display: flex; align-items: center; justify-content: center; cursor: pointer;
	box-shadow: 0 0 0 8px rgba(255,255,255,.35), 0 4px 12px rgba(0,0,0,.12); transition: transform .2s;
}
.sk-look__spot .sk-icon { width: 14px; height: 14px; stroke-width: 2; transition: transform .2s; }
.sk-look__spot:hover { transform: translate(-50%, -50%) scale(1.08); }
.sk-look__spot[aria-expanded="true"] .sk-icon { transform: rotate(45deg); }
.sk-look__card {
	position: absolute; z-index: 3; transform: translate(26px, -50%); display: flex; align-items: center; gap: 16px; min-width: 210px;
	padding: 12px 12px 12px 16px; border-radius: 12px; background: var(--sk-white); color: var(--sk-ink); text-decoration: none; box-shadow: 0 12px 30px rgba(0,0,0,.14);
}
.sk-look__card[hidden] { display: none; }
.sk-look__card > span:first-child { display: flex; flex-direction: column; gap: 2px; flex: 1; font-size: 14px; }
.sk-look__card-price { color: var(--sk-muted); font-size: 14px; }
.sk-look__card-go { width: 36px; height: 36px; border-radius: 50%; background: var(--sk-ink); color: #fff; display: flex; align-items: center; justify-content: center; }
.sk-look__card-go .sk-icon { width: 16px; height: 16px; }
.sk-look__title { margin: 12px 0 0; font: 400 clamp(32px, 3vw, 44px)/1.05 var(--sk-serif); }
.sk-look__lead { margin: 14px 0 0; color: var(--sk-muted-strong); font-size: 16px; line-height: 1.6; }
.sk-look__list { list-style: none; margin: 24px 0 0; padding: 0; }
.sk-look__item { display: grid; grid-template-columns: 64px minmax(0,1fr) auto; gap: 16px; align-items: center; padding: 10px 0; }
.sk-look__thumb img { display: block; width: 64px; height: 64px; object-fit: cover; border-radius: 10px; background: var(--sk-white); }
.sk-look__meta { display: flex; flex-direction: column; gap: 2px; font-size: 15px; }
.sk-look__meta a { color: var(--sk-ink); text-decoration: none; }
.sk-look__meta > span { color: var(--sk-muted); font-size: 14px; }
.sk-look__meta .price, .sk-look__meta .amount, .sk-look__card-price .amount { color: inherit; font-weight: 400; font-size: inherit; }
.sk-look__meta del, .sk-look__card del { opacity: .6; }
.sk-look__add { width: 44px; height: 44px; border-radius: 50%; background: var(--sk-white); color: var(--sk-ink); display: flex; align-items: center; justify-content: center; border: 0; transition: background .2s, color .2s; }
.sk-look__add:hover { background: var(--sk-ink); color: var(--sk-white); }
.sk-look__add.loading { opacity: .5; }
.sk-look__add.added::after, .sk-look__all.added::after { display: none; }
.sk-look__add + .added_to_cart { display: none; }
.sk-look__total { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 12px; padding-top: 20px; border-top: 1px solid #d9d9d9; font-size: 15px; }
.sk-look__total .amount { font-weight: 700; }
.sk-look__all-long { display: none; }
@media (max-width: 1199px) { .sk-look__panel { grid-template-columns: 1fr; gap: 28px; padding: 28px; } }
@media (max-width: 767px) {
	.sk-look__panel { padding: 20px 16px; border-radius: 20px; }
	.sk-look__total { flex-direction: column; align-items: stretch; }
	.sk-look__all { width: 100%; }
	.sk-look__all-long { display: inline; }
	.sk-look__card { transform: translate(-50%, 22px); min-width: 190px; }
}

/* 7.4 explore tabs */
.sk-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin: -12px 0 24px; }
.sk-tabs .sk-chip { font-size: 15px; height: 40px; }
.sk-tabpanel[hidden] { display: none; }

/* 7.5 gifts */
.sk-gifts__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; list-style: none; margin: 0; padding: 0; }
.sk-gift { display: flex; align-items: center; gap: 14px; height: 100%; padding: 14px; border-radius: 16px; background: var(--sk-sand); color: var(--sk-ink); text-decoration: none; transition: background .2s; }
.sk-gift:hover { background: #ebebeb; color: var(--sk-ink); }
.sk-gift__art { flex: 0 0 84px; width: 84px; height: 84px; border-radius: 50%; overflow: hidden; background: var(--sk-white); }
.sk-gift__art svg { display: block; width: 100%; height: 100%; }
.sk-gift__title { display: block; font: 400 24px/1.1 var(--sk-serif); }
.sk-gift__more { display: block; margin-top: 4px; font-size: 13px; color: var(--sk-muted); }
@media (max-width: 1199px) { .sk-gifts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .sk-gifts__grid { gap: 10px; } .sk-gift { flex-direction: column; align-items: flex-start; } .sk-gift__art { flex-basis: 64px; width: 64px; height: 64px; } .sk-gift__title { font-size: 20px; } }

/* 7.6 about band */
.sk-about__band { background: var(--sk-accent-tint); border-radius: var(--sk-r-band); padding: 56px 48px; text-align: center; }
.sk-about__title { margin: 0; font: 400 clamp(32px, 3.2vw, 46px)/1.05 var(--sk-serif); }
.sk-about__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; list-style: none; margin: 40px 0 0; padding: 0; }
.sk-about__icon { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: var(--sk-white); color: var(--sk-accent); }
.sk-about__grid h3 { margin: 16px 0 8px; font: 400 28px/1.15 var(--sk-serif); }
.sk-about__grid p { margin: 0 auto; max-width: 340px; color: var(--sk-muted); font-size: 15px; line-height: 1.6; }
@media (max-width: 767px) { .sk-about__band { padding: 40px 20px; } .sk-about__grid { grid-template-columns: 1fr; gap: 28px; } }

/* 7.7 journal */
.sk-journal__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.sk-post-card__img { display: block; aspect-ratio: 4 / 3; border-radius: var(--sk-r-card); overflow: hidden; background: var(--sk-sand); margin-bottom: 16px; }
.sk-post-card__img img, .sk-post-card__img svg { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.sk-post-card:hover .sk-post-card__img img, .sk-post-card:hover .sk-post-card__img svg { transform: scale(1.03); }
.sk-post-card__title { margin: 8px 0 10px; font: 400 28px/1.12 var(--sk-serif); letter-spacing: -0.01em; }
.sk-post-card__title a { color: var(--sk-ink); text-decoration: none; }
@media (max-width: 1023px) { .sk-journal__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) {
	.sk-journal__grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 calc(-1 * var(--sk-gutter)); padding: 0 var(--sk-gutter); gap: 14px; scrollbar-width: none; }
	.sk-journal__grid > * { flex: 0 0 80%; scroll-snap-align: start; }
	.sk-post-card__title { font-size: 24px; }
}

/* home product rows: horizontal scroll on mobile (design) */
@media (max-width: 767px) {
	.sk-row ul.products { flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; margin-left: calc(-1 * var(--sk-gutter)) !important; margin-right: calc(-1 * var(--sk-gutter)) !important; padding: 0 calc(var(--sk-gutter) - 6px) 4px; scrollbar-width: none; }
	.sk-row ul.products::-webkit-scrollbar { display: none; }
	.sk-row ul.products > li.product { flex: 0 0 46% !important; max-width: 46% !important; scroll-snap-align: start; }
	.sk-section__head { align-items: flex-start; flex-direction: column; gap: 12px; }
	.sk-section__head .sk-link-arrow { align-self: flex-start; }
}

/* 8. Product cards --------------------------------------------------------- */
.sookoon ul.products { --gz-product-gap: var(--sk-gap); }
.sookoon ul.products li.product .product-thumbnail { background: var(--sk-sand); border-radius: var(--sk-r-card); }
.sookoon ul.products li.product .product-thumbnail img { background: var(--sk-sand); }
.sookoon ul.products li.product .product-summary { margin-top: 12px !important; text-align: left; align-items: flex-start; }
.sookoon ul.products li.product .woocommerce-loop-product__title {
	font: 400 15px/1.35 var(--sk-sans) !important; letter-spacing: 0; color: var(--sk-ink); margin: 0 !important;
	display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.sookoon ul.products li.product .woocommerce-loop-product__title a { color: inherit; }
.sookoon ul.products li.product .glozin-rating { margin-top: 4px !important; gap: 6px; }
.sookoon ul.products li.product .glozin-rating .star-rating { font-size: 11px; color: var(--sk-ink); }
.sookoon ul.products li.product .review-count { color: var(--sk-muted); font-size: 12px; }
.sookoon ul.products li.product .price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin-top: 4px; font: 700 16px/1.3 var(--sk-sans); color: var(--sk-ink); }
.sookoon ul.products li.product .price del { order: 2; color: var(--sk-muted); font-weight: 400; font-size: 13px; opacity: 1; }
.sookoon ul.products li.product .price ins { order: 1; text-decoration: none; color: var(--sk-ink); }
.sookoon .price .sk-discount { order: 3; color: var(--sk-accent); font-weight: 600; font-size: 13px; }
.sk-chip-free { display: inline-block; margin-top: 6px; padding: 3px 9px; border-radius: 999px; background: var(--sk-sand); color: var(--sk-ink); font-size: 12px; line-height: 1.4; }

/* badges: pills bottom-left of the image */
.sookoon ul.products li.product .woocommerce-badges { top: auto !important; bottom: 12px; left: 12px; right: auto; display: flex; gap: 6px; flex-wrap: wrap; }
.sookoon .woocommerce-badge { border-radius: 999px !important; padding: 4px 10px !important; font: 600 12px/1.3 var(--sk-sans) !important; letter-spacing: .01em; text-transform: none !important; min-width: 0; height: auto; }
.sookoon .woocommerce-badge.new, .sookoon .woocommerce-badge.onsale { background: var(--sk-accent); color: var(--sk-white); }
.sookoon .woocommerce-badge.sk-badge-best { background: var(--sk-white); color: var(--sk-ink); }
.sookoon .woocommerce-badge.sold-out { background: var(--sk-ink); color: var(--sk-white); }

/* round white wishlist heart, top-right; quick view & add-to-cart revealed on hover */
.sookoon ul.products li.product .product-featured-icons--primary { top: 12px !important; right: 12px !important; bottom: auto !important; left: auto !important; }
.sookoon ul.products li.product .product-featured-icons .gz-button-icon,
.sookoon ul.products li.product .product-featured-icons--primary .product-loop-button { --gz-button-width: 36px; --gz-button-height: 36px; width: 36px; height: 36px; border-radius: 50% !important; background: var(--sk-white); color: var(--sk-ink); box-shadow: 0 1px 4px rgba(0,0,0,.06); border: 0; }
.sookoon ul.products li.product .product-featured-icons .gz-button-icon:hover { background: var(--sk-ink); color: var(--sk-white); }
.sookoon ul.products li.product .wcboost-wishlist-button.added { color: var(--sk-accent); }
.sookoon ul.products li.product .product-featured-icons--second .product-loop-button-atc { border-radius: 999px; background: var(--sk-white); color: var(--sk-ink); font-weight: 500; }
.sookoon ul.products li.product .product-featured-icons--second .product-loop-button-atc:hover { background: var(--sk-ink); color: var(--sk-white); }
.sookoon ul.products li.product .product-featured-icons--second { bottom: 12px !important; }
.sookoon ul.products li.product:hover .woocommerce-badges { opacity: 0; transition: opacity .2s; }
@media (hover: none) { .sookoon ul.products li.product:hover .woocommerce-badges { opacity: 1; } }

/* 9. Shop / category ------------------------------------------------------- */
.sookoon .page-header--shop, .sookoon .page-header.page-header--products { text-align: left; }
.sookoon .page-header .page-header__title, .sookoon .page-header h1 { font: 400 clamp(40px, 5vw, 64px)/1.02 var(--sk-serif) !important; letter-spacing: -0.02em; color: var(--sk-ink); }
.sookoon .page-header .page-header__description, .sookoon .page-header .term-description { max-width: 660px; color: var(--sk-muted); font-size: 18px; line-height: 1.65; margin-left: 0; }
.sookoon .page-header .page-header__content { align-items: flex-start !important; text-align: left; }
.sookoon .page-header .site-breadcrumb, .sookoon .woocommerce-breadcrumb { font-size: 13px; color: var(--sk-muted); }
.sookoon .site-breadcrumb a { color: var(--sk-muted); }
.sookoon .site-breadcrumb a:hover { color: var(--sk-ink); }

.sk-shop-filters { display: flex; flex-direction: column; gap: 20px; margin: 8px 0 24px; }
.sk-shop-filters .sk-chips { gap: 8px; }
@media (max-width: 767px) {
	.sk-shop-filters .sk-chips { flex-wrap: nowrap; overflow-x: auto; margin: 0 calc(-1 * var(--sk-gutter)); padding: 0 var(--sk-gutter); scrollbar-width: none; }
	.sk-shop-filters .sk-chips::-webkit-scrollbar { display: none; }
}
.sookoon .catalog-toolbar { border-bottom: 1px solid var(--sk-line); padding-bottom: 16px !important; margin-bottom: 24px; }
.sookoon .catalog-toolbar__filter-button { display: none !important; }
.sookoon .catalog-toolbar__result-count { color: var(--sk-muted); font-size: 14px; display: block !important; }
.sookoon .catalog-toolbar .woocommerce-ordering select, .sookoon .catalog-toolbar__orderby-form select { height: 44px; border-radius: 999px; padding: 0 40px 0 18px; border-color: var(--sk-chip-line); font-size: 14px; }
.sookoon .catalog-toolbar__orderby-button { border-radius: 999px; }
/* Glozin grid banner = « Inspiration » tile */
.sookoon ul.products li.gz-product-grid-banner > a { display: block; height: 100%; border-radius: var(--sk-r-card); overflow: hidden; }
.sookoon ul.products li.gz-product-grid-banner img { width: 100%; height: 100%; object-fit: cover; }
/* filters panel */
.sookoon .catalog-filters-sidebar .sidebar__container { border-radius: 0; }
.sookoon .products-filter__filter-name, .sookoon .catalog-filters-sidebar .widget-title { font: 500 15px/1.3 var(--sk-sans); letter-spacing: 0; text-transform: none; }
.sookoon .products-filter__button .button, .sookoon .catalog-filters-sidebar .button { border-radius: 999px; }
/* pagination / load more */
.sookoon .woocommerce-pagination .page-numbers { border-radius: 999px; }
.sookoon .woocommerce-pagination .gz-button, .sookoon .woocommerce-pagination .button { border-radius: 999px; background: transparent; color: var(--sk-ink); border: 1px solid var(--sk-ink); }
.sookoon .woocommerce-pagination .gz-button:hover, .sookoon .woocommerce-pagination .button:hover { background: var(--sk-ink); color: var(--sk-white); }

/* 10. Single product -------------------------------------------------------- */
.sookoon.single-product .site-content { padding-top: 12px; }
.sookoon .product-gallery-summary { gap: 72px !important; }
.sookoon .product-gallery-summary > .woocommerce-product-gallery { flex: 0 0 57%; max-width: 57%; }
.sookoon .product-gallery-summary > .summary { flex: 1; min-width: 0; }
.sookoon .woocommerce-product-gallery__image, .sookoon .woocommerce-product-gallery img { border-radius: 16px; background: var(--sk-sand); }
.sookoon .woocommerce-product-gallery .flex-control-thumbs img, .sookoon .glozin-product-gallery-thumbnails img { border-radius: 10px; border: 2px solid transparent; }
.sookoon .glozin-product-gallery-thumbnails .swiper-slide-thumb-active img { border-color: var(--sk-ink); }
.sookoon .summary .woocommerce-badges--single { display: flex; gap: 8px; margin-bottom: 14px; }
.sookoon .summary .woocommerce-badges--single .stock-badge { display: none; }
.sookoon .summary .product_title { font: 400 clamp(40px, 4.2vw, 56px)/1.02 var(--sk-serif) !important; letter-spacing: -0.02em; margin: 0 0 10px; }
.sookoon .summary .glozin-product-taxonomy { display: none; }
.sookoon .summary .glozin-product-price .price, .sookoon .summary > .price { font: 700 26px/1.2 var(--sk-sans); color: var(--sk-ink); }
.sookoon .summary .price del { font-size: 18px; font-weight: 400; color: var(--sk-muted); }
.sookoon .summary .price ins { color: var(--sk-ink); text-decoration: none; }
.sookoon .summary .woocommerce-product-details__short-description { color: var(--sk-muted-strong); font-size: 17px; line-height: 1.6; margin: 16px 0 24px; }
.sookoon .summary .stock.in-stock { color: var(--sk-accent); font-weight: 600; }
.sookoon .summary .variations th.label, .sookoon .summary .variations .label label { font: 600 15px/1.3 var(--sk-sans); text-transform: none; letter-spacing: 0; }
/* WCBoost swatches: round colours, pill labels */
.sookoon .wcboost-variation-swatches__item { border-radius: 999px !important; }
.sookoon .wcboost-variation-swatches--color .wcboost-variation-swatches__item { width: 44px; height: 44px; padding: 3px; box-shadow: none; border: 1px solid transparent; }
.sookoon .wcboost-variation-swatches--color .wcboost-variation-swatches__item.selected { border-color: var(--sk-ink); box-shadow: 0 0 0 1px var(--sk-ink); }
.sookoon .wcboost-variation-swatches--button .wcboost-variation-swatches__item { min-width: 64px; height: 44px; padding: 0 20px; border: 1px solid var(--sk-chip-line); background: var(--sk-white); font-size: 15px; }
.sookoon .wcboost-variation-swatches--button .wcboost-variation-swatches__item.selected { background: var(--sk-ink); border-color: var(--sk-ink); color: var(--sk-white); }
/* quantity + add to cart + wishlist */
.sookoon .summary .quantity { border-radius: 999px; border-color: var(--sk-chip-line); height: 52px; }
.sookoon .summary .single_add_to_cart_button { height: 52px; border-radius: 999px; font-size: 16px; }
.sookoon .summary .wcboost-wishlist-button { border-radius: 50% !important; }
/* Glozin shipping & promotions box = design « perks » panel */
.sookoon .shipping-promotions-information { background: var(--sk-sand); border: 0 !important; border-radius: 16px !important; padding: 12px 20px !important; }
.sookoon .shipping-promotions-information__item { border: 0 !important; padding: 8px 0 !important; font-size: 15px; gap: 14px !important; }
.sookoon .shipping-promotions-information__item img { width: 20px; height: 20px; }
/* accordion tabs under the summary */
.sookoon .gz-product-tabs .glozin-woocommerce-tabs { border-top: 1px solid var(--sk-line); }
.sookoon .gz-product-tabs .glozin-woocommerce-tabs.last { border-bottom: 1px solid var(--sk-line); }
.sookoon .gz-product-tabs .woocommerce-tabs-title { padding: 24px 0; font: 500 17px/1.3 var(--sk-sans); letter-spacing: 0; }
.sookoon .gz-product-tabs .woocommerce-tabs-content { color: var(--sk-muted-strong); font-size: 15px; line-height: 1.65; }
.sookoon .gz-product-tabs .woocommerce-tabs-content > h2:first-child { display: none; }
.sookoon .product_meta { display: none; }
/* reviews (Glozin block) */
.sookoon #tab-reviews { padding-top: var(--sk-section); }
.sookoon #reviews .woocommerce-Reviews-title { font: 400 clamp(32px, 3.2vw, 44px)/1.05 var(--sk-serif) !important; text-align: left !important; }
.sookoon #reviews .glozin-product-rating { justify-content: flex-start; }
.sookoon #reviews .glozin-product-rating .text-center { text-align: left !important; }
.sookoon #reviews .glozin-form-review { border-radius: 999px; }
.sookoon #reviews .commentlist .comment_container { border: 1px solid var(--sk-line); border-radius: 16px; padding: 20px; }
/* related */
.sookoon section.related.products, .sookoon section.upsells.products { padding-top: var(--sk-section); }
.sookoon section.related.products > h2, .sookoon section.upsells.products > h2 { font: 400 clamp(30px, 3.2vw, 44px)/1.05 var(--sk-serif) !important; text-align: left !important; margin-bottom: 28px; }
@media (max-width: 1023px) {
	.sookoon .product-gallery-summary { gap: 28px !important; }
	.sookoon .product-gallery-summary > .woocommerce-product-gallery { flex: none; max-width: 100%; }
}

/* 11. Cart, checkout, mini-cart ------------------------------------------ */
.sk-steps { display: flex; justify-content: center; gap: 8px; list-style: none; margin: 0 0 32px; padding: 0; flex-wrap: wrap; }
.sk-steps__item { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px 0 6px; border-radius: 999px; border: 1px solid var(--sk-chip-line); font-size: 14px; color: var(--sk-muted); }
.sk-steps__num { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--sk-sand); color: var(--sk-ink); font-weight: 600; font-size: 13px; }
.sk-steps__num .sk-icon { width: 14px; height: 14px; stroke-width: 2; }
.sk-steps__item.is-current { background: var(--sk-ink); border-color: var(--sk-ink); color: var(--sk-white); }
.sk-steps__item.is-current .sk-steps__num { background: var(--sk-white); }
.sk-steps__item.is-done { color: var(--sk-ink); }
.sk-steps__item.is-done .sk-steps__num { background: var(--sk-accent); color: var(--sk-white); }
@media (max-width: 767px) { .sk-steps { gap: 6px; } .sk-steps__item { padding: 0 12px 0 4px; font-size: 13px; height: 36px; } .sk-steps__num { width: 26px; height: 26px; } }
.sk-free-progress { margin-bottom: 16px; padding: 16px; border-radius: 12px; background: var(--sk-accent-tint); font-size: 14px; }
.sk-free-progress p { margin: 0 0 10px; }
.sk-free-progress__bar { display: block; height: 6px; border-radius: 999px; background: var(--sk-white); overflow: hidden; }
.sk-free-progress__bar > span { display: block; height: 100%; background: var(--sk-accent); border-radius: inherit; }
.sookoon .cart_totals, .sookoon .woocommerce-checkout-review-order, .sookoon #order_review { background: var(--sk-sand); border-radius: 16px; border: 0; }
.sookoon .woocommerce-cart-form .product-thumbnail img, .sookoon .mini_cart_item img, .sookoon .woocommerce-mini-cart-item img { border-radius: 10px; background: var(--sk-sand); }
.sookoon .checkout-button, .sookoon #place_order { border-radius: 999px; height: 54px; font-size: 16px; }
.sookoon.woocommerce-checkout h3, .sookoon .woocommerce-billing-fields > h3, .sookoon #order_review_heading { font: 400 30px/1.1 var(--sk-serif); letter-spacing: -0.01em; }
.sookoon .woocommerce form .form-row input.input-text, .sookoon .woocommerce form .form-row textarea, .sookoon .woocommerce form .form-row select, .sookoon .select2-container .select2-selection { border-radius: 10px; min-height: 48px; }
/* mini-cart panel */
.sookoon .cart-panel .panel__header, .sookoon #cart-panel .panel__header { font: 400 28px/1.1 var(--sk-serif); }
.sookoon .cart-panel .button, .sookoon #cart-panel .button { border-radius: 999px; }

/* 12. Account & login ------------------------------------------------------ */
.sookoon .woocommerce-MyAccount-navigation ul { border: 0; }
.sookoon .woocommerce-MyAccount-navigation li a { border-radius: 999px; padding: 10px 16px; }
.sookoon .woocommerce-MyAccount-navigation li.is-active a { background: var(--sk-ink); color: var(--sk-white); }
.sookoon .login-modal .modal__title, .sookoon .woocommerce-form-login h2, .sookoon .u-column1 h2, .sookoon .u-column2 h2 { font: 400 32px/1.1 var(--sk-serif); }
.sookoon .woocommerce-form-login .button, .sookoon .woocommerce-form-register .button { border-radius: 999px; width: 100%; height: 52px; }

/* 13. Journal & pages ------------------------------------------------------ */
.sookoon .page-header:not(.page-header--shop) { background: var(--sk-accent-tint); }
.sookoon.blog .page-header, .sookoon.page:not(.home) .page-header { padding-top: 48px; padding-bottom: 44px; }
.sookoon .hentry .entry-title a { color: var(--sk-ink); }
.sookoon .blog-wrapper .entry-title, .sookoon .post .entry-title { font-family: var(--sk-serif); font-weight: 400; }
.sookoon .entry-content { font-size: 17px; line-height: 1.75; }
.sookoon .entry-content h2 { font-size: 36px; margin-top: 1.6em; }

/* 14. Reassurance, newsletter, footer ------------------------------------- */
.sk-reassurance { width: 100%; flex: 0 0 100%; margin-top: var(--sk-section); }
.sk-reassurance .sk-container { border-top: 1px solid var(--sk-line); }
.sk-reassurance__list { display: flex; justify-content: space-around; gap: 24px; list-style: none; margin: 0; padding: 44px 0; }
.sk-reassurance__item { display: flex; align-items: center; gap: 14px; font-size: 14px; }
.sk-reassurance__item strong { display: block; font-weight: 500; font-size: 15px; }
.sk-reassurance__item strong + span { display: block; color: var(--sk-muted); }
.sk-reassurance__icon { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%; background: var(--sk-sand); flex-shrink: 0; }
@media (max-width: 767px) { .sk-reassurance__list { flex-direction: column; gap: 18px; padding: 32px 0; } }

.sk-newsletter { width: 100%; flex: 0 0 100%; padding-bottom: 56px; }
.sk-newsletter__band { background: var(--sk-accent); color: var(--sk-white); border-radius: var(--sk-r-band); padding: 52px 32px 44px; text-align: center; }
.sk-newsletter__title { margin: 0; font: 400 clamp(32px, 3.4vw, 48px)/1.05 var(--sk-serif); color: var(--sk-white); }
.sk-newsletter__lead { margin: 14px auto 0; max-width: 640px; font-size: 17px; }
.sk-newsletter__form { display: flex; gap: 8px; max-width: 512px; margin: 28px auto 0; padding: 6px; background: var(--sk-white); border-radius: 999px; }
.sk-newsletter__form input[type="email"] { flex: 1; min-width: 0; height: 48px; border: 0 !important; background: transparent; padding: 0 18px; font-size: 16px; color: var(--sk-ink); box-shadow: none !important; border-radius: 999px; }
.sk-newsletter__form button { height: 48px; padding: 0 28px; border: 0; border-radius: 999px; background: var(--sk-ink); color: var(--sk-white); font: 500 15px/1 var(--sk-sans); cursor: pointer; }
.sk-newsletter__form button:hover { background: #2b2b2b; }
.sk-newsletter__legal { margin: 16px 0 0; font-size: 13px; }
.sk-newsletter__legal a { color: var(--sk-white); text-decoration: underline; }
.sk-newsletter__notice { margin: 24px 0 0; font-weight: 600; }
@media (max-width: 767px) { .sk-newsletter__band { padding: 40px 20px; } .sk-newsletter__form { flex-direction: column; background: transparent; padding: 0; } .sk-newsletter__form input[type="email"] { background: var(--sk-white); } }

.sookoon #site-footer { border-top: 0 !important; background: var(--sk-ink); }
.sk-footer { background: var(--sk-ink); color: var(--sk-white); padding: 72px 0 32px; }
.sk-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 72px; border-bottom: 1px solid var(--sk-divider); }
.sk-footer__logo img { width: 178px; height: auto; display: block; }
.sk-footer__tagline { margin: 22px 0 0; max-width: 330px; color: #a3a3a3; font-size: 15px; line-height: 1.65; }
.sk-footer__socials { display: flex; gap: 8px; list-style: none; margin: 24px 0 0; padding: 0; }
.sk-footer__socials a { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; border: 1px solid #3a3a3a; color: var(--sk-white); }
.sk-footer__socials a:hover { border-color: var(--sk-white); color: var(--sk-white); }
.sk-footer__socials .sk-icon { width: 18px; height: 18px; }
.sk-footer__title { margin: 0 0 18px; }
.sk-footer__toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 0; border: 0; background: none; color: #a3a3a3; font: 600 13px/1.3 var(--sk-sans); letter-spacing: .14em; text-transform: uppercase; cursor: default; }
.sk-footer__toggle .sk-icon { display: none; }
.sk-footer__menu { list-style: none; margin: 0; padding: 0; }
.sk-footer__menu li { margin: 0 0 12px; }
.sk-footer__menu a { color: var(--sk-white); font-size: 15px; text-decoration: none; }
.sk-footer__menu a:hover { color: var(--sk-accent-light); }
.sk-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 28px; font-size: 13px; color: #a3a3a3; }
.sk-footer__bottom p { margin: 0; }
.sk-footer__legal-menu { display: flex; flex-wrap: wrap; gap: 8px 28px; list-style: none; margin: 0; padding: 0; }
.sk-footer__legal-menu a { color: #a3a3a3; }
.sk-footer__legal-menu a:hover { color: var(--sk-white); }
.sk-footer__lang { display: inline-flex; align-items: center; gap: 8px; color: var(--sk-white); }
.sk-footer__lang .sk-icon { width: 16px; height: 16px; }
@media (max-width: 1023px) { .sk-footer__grid { grid-template-columns: 1fr 1fr 1fr; } .sk-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 767px) {
	.sk-footer { padding: 48px 0 28px; }
	.sk-footer__grid { grid-template-columns: 1fr; gap: 0; padding-bottom: 24px; }
	.sk-footer__brand { padding-bottom: 28px; }
	.sk-footer__col { border-top: 1px solid var(--sk-divider); }
	.sk-footer__title { margin: 0; }
	.sk-footer__toggle { padding: 18px 0; cursor: pointer; color: var(--sk-white); }
	.sk-footer__toggle .sk-icon { display: block; width: 18px; height: 18px; transition: transform .2s; }
	.sk-footer__col.is-open .sk-footer__toggle .sk-icon { transform: rotate(45deg); }
	.sk-footer__links { display: none; padding-bottom: 12px; }
	.sk-footer__col.is-open .sk-footer__links { display: block; }
	.sk-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* 15. 404 & misc ----------------------------------------------------------- */
.sookoon .gz-button-go-top, .sookoon #gotop { border-radius: 50%; background: var(--sk-ink); color: var(--sk-white); }
.sookoon .gotop-height-scroll { display: none; }
.sookoon .woocommerce-message, .sookoon .woocommerce-info { border-radius: 12px; }

/* --- QA round 1 fixes ---------------------------------------------------- */
/* home: Glozin's content container must not add a second gutter (bands run edge to edge) */
.sookoon.home #site-content > .container-xxl, .sookoon.home #site-content > .container { max-width: none; padding-left: 0; padding-right: 0; }
/* outlined icons (Glozin fills custom SVGs by default); filled heart once in the wishlist */
.sookoon .glozin-svg-icon--custom-wishlist svg, .sookoon .glozin-svg-icon--custom-cart svg { fill: none !important; stroke: currentColor; }
.sookoon .wcboost-wishlist-button.added .glozin-svg-icon--custom-wishlist svg, .sookoon .wcboost-wishlist-button--added .glozin-svg-icon--custom-wishlist svg { fill: currentColor !important; }
.sookoon ins { background: none; text-decoration: none; }
.sookoon .sk-post-card__title { font: 400 28px/1.12 var(--sk-serif); letter-spacing: -0.01em; }
@media (max-width: 767px) { .sookoon .sk-post-card__title { font-size: 24px; } }
.sookoon .sk-about__grid h3 { font: 400 28px/1.15 var(--sk-serif); }
.sookoon .sk-look__meta del, .sookoon .sk-look__meta .sk-discount { display: none; }
.sk-circles { scroll-padding-inline: var(--sk-gutter); }
.sk-look__all { gap: 0; }
@media (min-width: 768px) and (max-width: 1199px) {
	.sk-row ul.products { flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--sk-gutter); margin-left: calc(-1 * var(--sk-gutter)) !important; margin-right: calc(-1 * var(--sk-gutter)) !important; padding: 0 calc(var(--sk-gutter) - 8px) 4px; scrollbar-width: none; }
	.sk-row ul.products > li.product { flex: 0 0 31% !important; max-width: 31% !important; scroll-snap-align: start; }
}
@media (max-width: 767px) { .sk-row ul.products { scroll-padding-inline: var(--sk-gutter); } }
/* --- QA round 2 ------------------------------------------------------------ */
.sookoon ul.products li.gz-product-grid-banner > a { position: relative; }
.sookoon ul.products li.gz-product-grid-banner img { position: absolute; inset: 0; object-position: center; }
.sookoon .woocommerce-product-gallery__image img, .sookoon .woocommerce-product-gallery__image a { display: block; width: 100% !important; height: auto; }
.sookoon #reviews .woocommerce-noreviews, .sookoon .woocommerce-info { background: var(--sk-sand); color: var(--sk-ink); border: 0; border-radius: 12px; }
.sookoon .summary .quantity { height: 52px; }
.sookoon .summary .quantity .qty { height: 100%; }

/* 16. Page templates (histoire, contact, FAQ, 404) ------------------------- */
.sookoon.sk-full #site-content > .container-xxl, .sookoon.sk-full #site-content > .container { max-width: none; padding-left: 0; padding-right: 0; }
.sookoon.sk-full .page-header, .sookoon.sk-full #page-header { display: none; }
.sookoon.sk-full .site-content { padding-top: 0; }
.sk-page { overflow: hidden; }
.sk-page__band { background: var(--sk-accent-tint); padding: 56px 0 48px; }
.sk-page__band--center { text-align: center; }
.sk-page__title { margin: 8px 0 0; font: 400 clamp(40px, 5vw, 64px)/1.02 var(--sk-serif); letter-spacing: -0.02em; color: var(--sk-ink); }
.sk-page__lead { margin: 14px 0 0; max-width: 620px; color: var(--sk-muted); font-size: 17px; line-height: 1.65; }
.sk-page__band--center .sk-page__lead { margin-left: auto; margin-right: auto; }
.sk-card { display: block; padding: 24px; border-radius: 16px; background: var(--sk-sand); color: var(--sk-ink); text-decoration: none; }
.sk-card + .sk-card { margin-top: 16px; }
.sk-card__title { display: block; margin: 0 0 16px; font: 400 26px/1.1 var(--sk-serif); }
.sk-card__row { display: flex; gap: 12px; margin: 0 0 14px; font-size: 14px; line-height: 1.5; }
.sk-card__row .sk-icon { width: 36px; height: 36px; padding: 8px; border-radius: 50%; background: var(--sk-white); }
.sk-card__row strong { display: block; font-weight: 600; }
.sk-card__row a { color: var(--sk-ink); }
.sk-card--dark { background: var(--sk-ink); color: var(--sk-white); display: flex; flex-direction: column; gap: 8px; }
.sk-card--dark:hover { color: var(--sk-white); background: #2b2b2b; }
.sk-card--dark .sk-card__title { margin: 0; }

.sk-story__hero { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; padding-top: 48px; }
.sk-story__art, .sk-story__scene { border-radius: var(--sk-r-panel); overflow: hidden; background: var(--sk-sand); }
.sk-story__art svg, .sk-story__scene svg { display: block; width: 100%; height: auto; }
.sk-story__scene svg { max-height: 560px; }
.sk-story__text { display: grid; grid-template-columns: 1fr 2fr; gap: 48px; }
.sk-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; list-style: none; margin: 28px 0 0; padding: 0; }
.sk-values li { padding: 24px; border-radius: 16px; background: var(--sk-sand); }
.sk-values__icon { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--sk-white); }
.sk-values h3 { margin: 16px 0 8px; font: 400 26px/1.15 var(--sk-serif) !important; }
.sk-values p { margin: 0; color: var(--sk-muted); font-size: 14px; line-height: 1.6; }
.sk-story__cta { text-align: center; }
.sk-story__cta p { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin-top: 20px; }

.sk-contact__grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 40px; padding-top: 40px; }
.sk-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.sk-contact__form label { display: block; font-size: 13px; font-weight: 500; }
.sk-contact__form input:not([type="checkbox"]):not([type="submit"]), .sk-contact__form select, .sk-contact__form textarea { width: 100%; margin-top: 6px; min-height: 48px; border-radius: 10px; font-size: 15px; }
.sk-contact__form textarea { min-height: 160px; }
.sk-contact__form .wpcf7-submit { height: 48px; padding: 0 28px; border-radius: 999px; background: var(--sk-ink); color: var(--sk-white); border: 0; font-weight: 500; }
.sk-contact__form .wpcf7-acceptance label { display: flex; gap: 10px; font-weight: 400; }

.sk-faq__search { position: relative; max-width: 560px; margin: 28px auto 0; }
.sk-faq__search .sk-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--sk-muted); }
.sk-faq__search input { width: 100%; height: 52px; padding: 0 20px 0 50px; border-radius: 999px; border: 1px solid var(--sk-chip-line); background: var(--sk-white); font-size: 15px; }
.sk-faq__topics { justify-content: center; margin-top: 20px; }
.sk-faq__grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 64px; align-items: start; padding-top: 48px; }
.sk-faq__content h2 { margin: 40px 0 8px; font: 400 32px/1.1 var(--sk-serif); scroll-margin-top: 140px; }
.sk-faq__content h2:first-child { margin-top: 0; }
.sk-faq__content details { border-bottom: 1px solid var(--sk-line); }
.sk-faq__content summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; font-size: 16px; font-weight: 500; cursor: pointer; list-style: none; }
.sk-faq__content summary::-webkit-details-marker { display: none; }
.sk-faq__content summary::after { content: "+"; font-size: 22px; font-weight: 300; transition: transform .2s; }
.sk-faq__content details[open] summary::after { transform: rotate(45deg); }
.sk-faq__content details p { margin: 0 0 18px; color: var(--sk-muted-strong); font-size: 15px; }
.sk-faq__help { position: sticky; top: 120px; }
.sk-faq__help .sk-btn { width: 100%; margin-top: 10px; }

.sk-404__code { margin: 0; font: 400 clamp(96px, 14vw, 180px)/0.9 var(--sk-serif); color: var(--sk-accent); }
.sk-404__search { display: flex; align-items: center; gap: 8px; max-width: 560px; height: 52px; margin: 28px auto 0; padding: 0 4px 0 20px; border-radius: 999px; background: var(--sk-white); border: 1px solid var(--sk-chip-line); }
.sk-404__search input { flex: 1; border: 0 !important; background: transparent; box-shadow: none !important; font-size: 15px; padding: 0; }
.sk-404__actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin: 24px 0 0; }
.sk-404 .sk-circles { margin-top: 28px; }

@media (max-width: 1023px) {
	.sk-story__hero, .sk-story__text, .sk-contact__grid, .sk-faq__grid { grid-template-columns: 1fr; gap: 32px; }
	.sk-values { grid-template-columns: 1fr; }
	.sk-faq__help { position: static; }
}
@media (max-width: 767px) { .sk-form-grid { grid-template-columns: 1fr; } .sk-page__band { padding: 40px 0 32px; } }
/* --- QA round 3 (mobile panels, search modal) ------------------------------ */
.sookoon .offscreen-panel .panel__header, .sookoon .hamburger-panel .panel__header, .sookoon #mobile-menu-panel .panel__header { background: var(--sk-ink) !important; color: var(--sk-white); }
.sookoon .hamburger-panel .nav-menu > li > a, .sookoon #mobile-menu-panel .nav-menu > li > a { font: 400 17px/1.4 var(--sk-sans); }
.sookoon .hamburger-panel .sk-menu-accent > a, .sookoon #mobile-menu-panel .sk-menu-accent > a { color: var(--sk-accent) !important; }
.sookoon .modal .header-search__form .header-search__field, .sookoon #search-modal input[type="text"] { border-color: var(--sk-chip-line); border-radius: 999px; }
.sookoon #search-modal input[type="text"]:focus { border-color: var(--sk-ink); }
.sookoon #search-modal .results-content-title { font-family: var(--sk-serif); font-size: 26px; }
.sookoon ul.products li.gz-product-grid-banner img { left: 0 !important; top: 0 !important; transform: none !important; max-width: none; }
@media (max-width: 767px) {
	.sookoon .page-header .page-header__content, .sookoon .page-header .page-header__description { text-align: left !important; }
	.sookoon .page-header .page-header__description { font-size: 16px; }
	.sookoon .catalog-toolbar__result-count { white-space: nowrap; }
}
/* grid banner tile keeps the product-image ratio (1:1.12) so the artwork is not cropped */
.sookoon ul.products li.gz-product-grid-banner > a { height: auto !important; aspect-ratio: 1 / 1.12; padding: 0 !important; }
/* photos in design slots (fallback = illustration) */
.sk-promo__art img, .sk-promo__disc img, .sk-gift__art img, .sk-circle__img img, .sk-story__art img, .sk-story__scene img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sk-promo__art { position: relative; }
.sk-promo__art img { position: absolute; inset: 0; }
.sk-look__scene > img { display: block; width: 100%; height: auto; border-radius: 16px; }
.sk-story__art { aspect-ratio: 1 / 0.88; }
.sk-story__scene { aspect-ratio: 16 / 7; }
@media (max-width: 767px) { .sk-story__scene { aspect-ratio: 4 / 3; } .sk-promo--hero .sk-promo__art { position: relative; } }

/* --- card buttons (always visible) ---------------------------------------- */
.sookoon ul.products li.product .product-summary { display: flex; flex-direction: column; height: 100%; }
.sookoon ul.products li.product .product-inner { height: 100%; display: flex; flex-direction: column; }
.sookoon ul.products li.product .product-summary .gz-button-add-to-cart-mobile {
	display: inline-flex !important; align-items: center; justify-content: center; width: 100%; margin-top: auto !important;
	min-height: 42px; padding: 0 14px !important; border-radius: 999px; background: var(--sk-ink); border: 1px solid var(--sk-ink); color: var(--sk-white);
	font: 500 14px/1.2 var(--sk-sans); text-align: center;
}
.sookoon ul.products li.product .product-summary .gz-button-add-to-cart-mobile:hover { background: #2b2b2b; color: var(--sk-white); }
.sookoon ul.products li.product .product-summary > .price, .sookoon ul.products li.product .sk-chip-free { margin-bottom: 12px; }
.sookoon ul.products li.product .product-summary .sk-chip-free { align-self: flex-start; }
.sk-buy-now {
	display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 42px; margin-top: 8px;
	border: 1px solid var(--sk-ink); border-radius: 999px; background: var(--sk-white); color: var(--sk-ink);
	font: 500 14px/1.2 var(--sk-sans); text-decoration: none; transition: background .2s, color .2s;
}
.sk-buy-now:hover { background: var(--sk-accent); border-color: var(--sk-accent); color: var(--sk-white); }
.sookoon ul.products li.product .added_to_cart { display: block; margin-top: 6px; font-size: 13px; text-align: center; }
/* the permanent buttons replace Glozin's hover add-to-cart on the image */
.sookoon ul.products li.product .product-featured-icons--second,
.sookoon ul.products li.product .product-featured-icons--primary .product-loop-button-atc { display: none !important; }
@media (max-width: 767px) {
	.sookoon ul.products li.product .product-summary .gz-button-add-to-cart-mobile, .sk-buy-now { min-height: 38px; font-size: 13px; }
}
