/* ==========================================================================
   Sarrvamangali Silk — website v3 (Build guide, version 3, November 2026)
   Only six colours and four fonts. Square corners (gift card art excepted).
   Desktop ≥1025: 12 columns, 48 margin, 24 gap, header 72
   Tablet 601–1024: 8 columns, 32 margin, 20 gap, header 72
   Mobile ≤600: 4 columns, 20 margin, 12 gap, header 56
   ========================================================================== */

:root {
	--white: #FFFFFF; --ink: #111111; --grey-600: #6B6B6B;
	--grey-400: #9A9A9A; --line: #E8E8E8; --surface: #F6F5F3;
	--gold: #8A6A2E; /* the one accent: only Fragment Mono text and the gift card */
	--f-logo: 'EB Garamond', serif;
	--f-display: 'Cormorant Garamond', serif;
	--f-sans: 'Instrument Sans', sans-serif;
	--f-mono: 'Fragment Mono', monospace;
	--m: 48px; --g: 24px; --hh: 72px; --sec: 128px;
	--ease: cubic-bezier(.2, .7, .2, 1);
}
@media (max-width: 1024px) { :root { --m: 32px; --g: 20px; --sec: 96px; } }
@media (max-width: 600px) { :root { --m: 20px; --g: 12px; --hh: 56px; --sec: 72px; } }

/* ---------------------------------------------------------------- base */
html body.s3 { background: var(--white) !important; color: var(--ink); font-family: var(--f-sans); font-size: 15px; line-height: 1.6; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.s3 *, .s3 *::before, .s3 *::after { box-sizing: border-box; }
.s3 [hidden] { display: none !important; }
.s3 img { max-width: 100%; height: auto; }
.s3 a { color: inherit; }
.s3 :focus-visible { outline: 1px solid var(--ink); outline-offset: 3px; }
.s3 .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.s3 ::selection { background: var(--ink); color: var(--white); }

/* Elementor containers that only hold a v3 shortcode: no spacing of their own. */
.s3 .e-con.s3-el, .s3 .s3-el > .e-con-inner { padding: 0 !important; margin: 0 !important; max-width: none !important; --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; gap: 0 !important; }
.s3 .elementor-widget.s3-el, .s3 .s3-el .elementor-widget { margin: 0 !important; width: 100%; }
.s3 .s3-el .elementor-shortcode { width: 100%; }
.s3 .elementor-location-header, .s3 .elementor-location-footer { position: relative; z-index: 50; }
.s3.s3-landing .elementor-location-header { position: absolute; top: 0; left: 0; right: 0; }

/* Reset theme / Elementor-kit styles inside v3 parts — zero specificity (:where), so every component rule wins. */
:where(.s3 .s3-page, .s3 .s3-h, .s3 .s3-menu, .s3 .s3-f, .s3 dialog) button { font: inherit; color: inherit; background: none; border: 0; border-radius: 0; padding: 0; margin: 0; box-shadow: none; text-transform: none; letter-spacing: inherit; cursor: pointer; min-height: 0; }
:where(.s3 .s3-page, .s3 .s3-h, .s3 .s3-f) :where(h1, h2, h3, p, dl, dd, figure, ul, ol) { margin: 0; padding: 0; }
:where(.s3 .s3-page, .s3 .s3-h, .s3 .s3-f, .s3 .s3-menu) :where(ul, ol) { list-style: none; padding: 0; margin: 0; }
:where(.s3 .s3-page, .s3 .s3-h, .s3 .s3-f, .s3 .s3-menu) a { text-decoration: none; color: inherit; }
/* Theme link underlines off inside v3 parts (text pages and accordions turn them back on below). */
.s3 .s3-page a, .s3 .s3-f a, .s3 .s3-h a, .s3 .s3-menu a { text-decoration: none; }
/* Hello theme / Elementor kit set h1–h6 and button colours with low specificity; v3 parts restate theirs. */
.s3 .s3-page :is(h1, h2, h3) { color: var(--ink); }
.s3 :is(.s3-iconbtn, .s3-pause, .s3-search__close, .s3-filterbar__mobile, .s3-acc__row summary, .s3-zoom__prev, .s3-zoom__next):is(:hover, :focus) { background-color: transparent; color: inherit; }
.s3 .s3-pause:is(:hover, :focus) { color: var(--white); }

/* ---------------------------------------------------------------- type */
.s3 .s3-display { font: 300 88px/.95 var(--f-display); letter-spacing: -.01em; }
.s3 .s3-h1, .s3 .s3-page h1.s3-h1 { font: 300 56px/1.05 var(--f-display); letter-spacing: 0; color: var(--ink); text-transform: none; }
.s3 .s3-h2, .s3 .s3-page .s3-h2 { font: 300 40px/1.1 var(--f-display); color: var(--ink); text-transform: none; letter-spacing: 0; }
.s3 .s3-h3, .s3 .s3-page .s3-h3 { font: 400 22px/1.2 var(--f-display); color: var(--ink); text-transform: none; letter-spacing: 0; }
.s3 .s3-h1 em, .s3 .s3-h2 em { font-style: italic; font-weight: 300; }
.s3 .s3-bodyl { font: 400 17px/1.65 var(--f-sans); }
.s3 .s3-body { font: 400 15px/1.6 var(--f-sans); }
.s3 .s3-label { font: 500 11px/1.4 var(--f-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--ink); margin: 0; }
.s3 .s3-mono, .s3 .s3-crumbs { font: 400 12px/1.5 var(--f-mono); letter-spacing: 0; text-transform: none; color: var(--gold); }
.s3 .s3-grey { color: var(--grey-600); }
@media (max-width: 600px) {
	.s3 .s3-display { font-size: 48px; }
	.s3 .s3-h1, .s3 .s3-page h1.s3-h1 { font-size: 36px; }
	.s3 .s3-h2, .s3 .s3-page .s3-h2 { font-size: 28px; }
	.s3 .s3-h3, .s3 .s3-page .s3-h3 { font-size: 19px; }
	.s3 .s3-bodyl { font-size: 16px; }
}

/* ---------------------------------------------------------------- building blocks (guide page 07) */
/* C · Buttons: 52 tall, 32 side padding, 11 px caps +0.16em. Black = main, outline = second. */
.s3 .s3-btn, .s3 .s3-page .s3-btn, .s3 button.s3-btn {
	display: inline-flex; align-items: center; justify-content: center; height: 52px; padding: 0 32px;
	background: var(--ink); color: var(--white); border: 1px solid var(--ink); border-radius: 0;
	font: 500 11px/1 var(--f-sans); letter-spacing: .16em; text-transform: uppercase; text-decoration: none; white-space: nowrap;
	cursor: pointer; transition: background-color .2s, color .2s;
}
.s3 .s3-btn:hover { background: #2a2a2a; color: var(--white); }
.s3 .s3-btn--outline, .s3 .s3-page .s3-btn--outline { background: transparent; color: var(--ink); }
.s3 .s3-btn--outline:hover { background: var(--ink); color: var(--white); }
.s3 .s3-btn--full { display: flex; width: 100%; }
.s3 .s3-btn--disabled, .s3 .s3-btn--disabled:hover { background: var(--line); border-color: var(--line); color: var(--grey-600); cursor: default; }
.s3 .s3-btn.is-loading { opacity: .6; pointer-events: none; }
/* Text link: 1 px underline, 4 px below the text. */
.s3 .s3-textlink, .s3 .s3-page .s3-textlink, .s3 button.s3-textlink {
	display: inline-block; padding: 0 0 4px; border: 0; border-bottom: 1px solid currentColor; background: none;
	font: 500 11px/1.2 var(--f-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--ink); text-decoration: none; cursor: pointer; white-space: nowrap;
}
.s3 .s3-textlink:hover { color: var(--grey-600); }
.s3 .s3-textlink--white, .s3 .s3-page .s3-textlink--white { color: var(--white); }
.s3 .s3-textlink--white:hover { color: var(--white); opacity: .75; }
/* D · Chips: 44 tall, 24 padding, 1 px line border; selected = 1 px black border. */
.s3 .s3-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.s3 .s3-chip { position: relative; cursor: pointer; }
.s3 .s3-chip input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.s3 .s3-chip span { display: inline-flex; align-items: center; height: 44px; padding: 0 24px; border: 1px solid var(--line); font: 400 15px/1 var(--f-sans); font-variant-numeric: tabular-nums; transition: border-color .15s; }
.s3 .s3-chip:hover span { border-color: var(--grey-400); }
.s3 .s3-chip input:checked + span { border-color: var(--ink); }
.s3 .s3-chip input:focus-visible + span { outline: 1px solid var(--ink); outline-offset: 3px; }
/* F · Text field: label 11 px caps grey, 8 px gap, field 48 tall with a bottom line only. */
.s3 .s3-field { display: flex; flex-direction: column; gap: 8px; border: 0; padding: 0; margin: 0; min-width: 0; }
.s3 .s3-field__label, .s3 legend.s3-field__label { font: 500 11px/1.4 var(--f-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--grey-600); padding: 0; margin: 0 0 8px; }
.s3 .s3-field > .s3-field__label { margin: 0; }
.s3 .s3-field__input, .s3 input.s3-field__input, .s3 textarea.s3-field__input {
	width: 100%; height: 48px; padding: 0 !important; border: 0 !important; border-bottom: 1px solid var(--grey-400) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important;
	font: 400 15px/1.4 var(--f-sans); color: var(--ink); outline: 0;
}
.s3 textarea.s3-field__input { height: auto; min-height: 48px; padding: 12px 0 !important; resize: vertical; }
.s3 .s3-field__input::placeholder { color: var(--grey-400); opacity: 1; }
.s3 .s3-field__input:focus { border-bottom-color: var(--ink) !important; }
/* G · Accordion: rows 56 tall, 1 px line under each, + on the right. */
.s3 .s3-acc { border-top: 1px solid var(--line); }
.s3 .s3-acc__row { border-bottom: 1px solid var(--line); }
.s3 .s3-acc__row > summary { display: flex; align-items: center; justify-content: space-between; height: 56px; cursor: pointer; list-style: none; font: 500 12px/1 var(--f-sans); letter-spacing: .14em; text-transform: uppercase; }
.s3 .s3-acc__row > summary::-webkit-details-marker { display: none; }
.s3 .s3-acc__sign { position: relative; width: 11px; height: 11px; }
.s3 .s3-acc__sign::before, .s3 .s3-acc__sign::after { content: ''; position: absolute; left: 0; top: 5px; width: 11px; height: 1px; background: var(--ink); transition: transform .2s; }
.s3 .s3-acc__sign::after { transform: rotate(90deg); }
.s3 .s3-acc__row[open] .s3-acc__sign::after { transform: rotate(0); }
.s3 .s3-acc__body { padding: 0 0 24px; font: 400 15px/1.6 var(--f-sans); color: var(--ink); }
.s3 .s3-acc__body p { margin: 0 0 12px; }
.s3 .s3-acc__body a { text-decoration: underline; text-underline-offset: 4px; }
/* Checkbox: 18 px square, 1 px black border. */
.s3 .s3-check { display: inline-flex; align-items: center; gap: 12px; cursor: pointer; font: 400 15px/1.4 var(--f-sans); }
.s3 .s3-check input { appearance: none; -webkit-appearance: none; width: 18px !important; height: 18px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 1px solid var(--ink) !important; border-radius: 0 !important; background: var(--white); display: grid; place-content: center; flex: none; cursor: pointer; }
.s3 .s3-check input::before { content: ''; width: 10px; height: 10px; background: var(--ink); transform: scale(0); transition: transform .12s; }
.s3 .s3-check input:checked::before { transform: scale(1); }

/* Labels with a link on the right (section heads). */
.s3 .s3-label-row { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin: 0 0 32px; }
.s3 .s3-crumbs ol { display: flex; flex-wrap: wrap; gap: 0; list-style: none; margin: 0; padding: 0; }
.s3 .s3-crumbs li + li::before { content: '/'; margin: 0 8px; color: var(--gold); opacity: .6; }
.s3 .s3-crumbs a:hover { color: var(--ink); }

/* Images */
.s3 .s3-tile__media, .s3 .s3-card__media { position: relative; display: block; overflow: hidden; background: var(--surface); }
.s3 .s3-tile__media img, .s3 .s3-card__media img, .s3 .s3-arow__item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.s3 .s3-ph { position: absolute; inset: 0; background: var(--surface); }
.s3 .r-34 { aspect-ratio: 3 / 4; }
.s3 .r-45 { aspect-ratio: 4 / 5; }
.s3 .r-169 { aspect-ratio: 16 / 9; }
.s3 .r-1610 { aspect-ratio: 16 / 10; }
.s3 .r-11 { aspect-ratio: 1 / 1; }

/* Icon buttons (20 px, thin line) */
.s3 .s3-iconbtn { display: inline-flex; align-items: center; justify-content: center; position: relative; width: 24px; height: 24px; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.s3 .s3-ico { display: block; flex: none; }

/* ---------------------------------------------------------------- header (guide page 06) */
.s3 .s3-h { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; background: var(--white); color: var(--ink); border-bottom: 1px solid var(--line); transition: background-color .3s ease, color .3s ease, border-color .3s ease; }
.admin-bar.s3 .s3-h { top: 32px; }
@media (max-width: 782px) { .admin-bar.s3 .s3-h { top: 46px; } }
.s3 .s3-h-space { height: var(--hh); }
.s3 .s3-h__bar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: var(--hh); padding: 0 var(--m); }
.s3 .s3-h__left { display: flex; align-items: center; }
.s3 .s3-h__right { display: flex; align-items: center; justify-content: flex-end; gap: 24px; }
.s3 .s3-h__burger { display: none; }
.s3 .s3-nav { display: flex; gap: 32px; }
.s3 .s3-nav__link { position: relative; font: 500 12px/1 var(--f-sans); letter-spacing: .14em; text-transform: uppercase; padding: 8px 0; }
.s3 .s3-nav__link::after { content: ''; position: absolute; left: 0; right: .14em; bottom: 2px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .25s var(--ease); }
.s3 .s3-nav__link:hover::after, .s3 .s3-nav__link.is-current::after, .s3 .s3-nav__link[aria-expanded="true"]::after { transform: scaleX(1); }
.s3 .s3-h__logo { display: inline-flex; justify-content: center; color: inherit; }
.s3 .s3-logo { display: inline-flex; flex-direction: column; align-items: center; line-height: 1; }
.s3 .s3-logo__name { font: 400 22px/1 var(--f-logo); letter-spacing: .3em; margin-right: -.3em; }
.s3 .s3-logo__sub { margin-top: 5px; font: 500 9px/1 var(--f-sans); letter-spacing: .3em; margin-right: -.3em; }
.s3 .s3-logo--svg .svm-wordmark__svg { display: block; width: 300px; height: auto; }
.s3 .s3-h__cart { width: auto; }
.s3 .s3-count { position: absolute; top: -6px; right: -9px; font: 400 10px/1 var(--f-mono); vertical-align: baseline; }

/* Landing page only: transparent over the film, white text; white after the film (0.3 s fade). */
.s3.s3-landing .s3-h:not(.is-solid) { background: transparent; color: var(--white); border-bottom-color: rgba(255, 255, 255, .22); }

/* Shop drop-down: white panel under the header, full width. */
.s3 .s3-mega, .s3 .s3-search { position: absolute; top: 100%; left: 0; right: 0; background: var(--white); color: var(--ink); border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); }
.s3 .s3-mega[hidden], .s3 .s3-search[hidden], .s3 .s3-shade[hidden] { display: none !important; }
.s3 .s3-mega__in { display: grid; grid-template-columns: 1fr 1fr 2fr; gap: var(--g); padding: 48px var(--m) 64px; }
.s3 .s3-mega__col .s3-label { color: var(--grey-600); margin-bottom: 24px; }
.s3 .s3-mega__list { display: flex; flex-direction: column; gap: 6px; margin-bottom: 24px !important; }
.s3 .s3-mega__list a { font: 400 22px/1.2 var(--f-display); }
.s3 .s3-mega__list a:hover { color: var(--grey-600); }
.s3 .s3-mega__gift { display: grid; grid-template-columns: 1fr 1fr; gap: var(--g); align-items: start; }
.s3 .s3-mega__text { font: 400 15px/1.6 var(--f-sans); color: var(--grey-600); margin: 0 0 24px; max-width: 260px; }
.s3 .s3-mega__card img { display: block; width: 100%; filter: drop-shadow(0 12px 24px rgba(17, 17, 17, .08)); }
.s3 .s3-shade { position: fixed; inset: 0; z-index: 999; background: rgba(17, 17, 17, .28); animation: s3Fade .25s ease; }
@keyframes s3Fade { from { opacity: 0; } to { opacity: 1; } }

/* Search panel (guide page 21): 48 top / 64 bottom; input Cormorant 40 over a 1 px black line. */
.s3 .s3-search { padding: 48px var(--m) 64px; }
.s3 .s3-search__form { position: relative; display: flex; align-items: center; gap: 16px; border-bottom: 1px solid var(--ink); }
.s3 .s3-search__ico { color: var(--grey-600); display: inline-flex; }
.s3 .s3-search__input, .s3 input.s3-search__input { flex: 1; min-width: 0; height: 72px; border: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; border-radius: 0 !important; font: 300 40px/1 var(--f-display); color: var(--ink); outline: 0; }
.s3 .s3-search__input::placeholder { color: var(--grey-400); }
.s3 .s3-search__input::-webkit-search-cancel-button { display: none; }
.s3 .s3-search__close { display: inline-flex; align-items: center; gap: 8px; font: 500 11px/1 var(--f-sans) !important; letter-spacing: .16em !important; text-transform: uppercase !important; color: var(--grey-600) !important; }
.s3 .s3-search__popular { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 24px; font: 400 12px/1.5 var(--f-mono); }
.s3 .s3-search__plabel { color: var(--grey-600); text-transform: uppercase; letter-spacing: .1em; }
.s3 .s3-search__popular a:hover { text-decoration: underline; text-underline-offset: 4px; }
.s3 .s3-search__results:empty { display: none; }
.s3 .s3-search__results { margin-top: 32px; }
.s3 .s3-sres { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--g); margin: 0 0 32px !important; }
.s3 .s3-sres a { display: flex; gap: 16px; align-items: flex-start; }
.s3 .s3-sres__img { flex: none; width: 64px; aspect-ratio: 4 / 5; position: relative; overflow: hidden; background: var(--surface); }
.s3 .s3-sres__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.s3 .s3-sres__txt { display: flex; flex-direction: column; gap: 4px; }
.s3 .s3-sres__name { font: 400 17px/1.2 var(--f-display); }
.s3 .s3-sres__price { font: 400 12px/1.5 var(--f-mono); color: var(--grey-600); }
.s3 .s3-sres__none { font: 400 15px/1.6 var(--f-sans); color: var(--grey-600); margin: 0; }

/* Mobile menu: ☰ opens a full-screen white menu. */
.s3 dialog.s3-menu { position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: 0 var(--m) 40px; border: 0; background: var(--white); color: var(--ink); overflow-y: auto; }
.s3 .s3-menu::backdrop { background: var(--white); }
.s3 .s3-menu[open] { animation: s3Fade .2s ease; }
.s3 .s3-menu__top { display: grid; grid-template-columns: 24px 1fr 24px; align-items: center; height: var(--hh); border-bottom: 1px solid var(--line); margin: 0 calc(-1 * var(--m)); padding: 0 var(--m); }
.s3 .s3-menu__top .s3-logo__name { font-size: 18px; }
.s3 .s3-menu__nav { display: flex; flex-direction: column; margin-top: 16px; }
.s3 .s3-menu__link, .s3 .s3-menu__group > summary { display: flex; align-items: center; justify-content: space-between; height: 56px; border-bottom: 1px solid var(--line); font: 500 12px/1 var(--f-sans); letter-spacing: .14em; text-transform: uppercase; cursor: pointer; list-style: none; }
.s3 .s3-menu__group > summary::-webkit-details-marker { display: none; }
.s3 .s3-menu__group[open] > summary .s3-ico { transform: rotate(45deg); }
.s3 .s3-menu__sub { padding: 24px 0 32px; border-bottom: 1px solid var(--line); }
.s3 .s3-menu__sub .s3-label { color: var(--grey-600); margin: 0 0 12px; }
.s3 .s3-menu__list { display: flex; flex-direction: column; gap: 4px; margin: 0 0 28px !important; }
.s3 .s3-menu__list a { font: 400 22px/1.3 var(--f-display); }

@media (max-width: 1024px) {
	.s3 .s3-mega__in { grid-template-columns: 1fr 1fr; }
	.s3 .s3-mega__gift { grid-column: 1 / -1; }
	.s3 .s3-sres { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.s3 .s3-nav { display: none; }
	.s3 .s3-h__burger { display: inline-flex; }
	.s3 .s3-h__right { gap: 20px; }
	.s3 .s3-logo__name { font-size: 17px; letter-spacing: .24em; margin-right: -.24em; }
	.s3 .s3-logo__sub { font-size: 8px; margin-top: 4px; }
	.s3 .s3-logo--svg .svm-wordmark__svg { width: 190px; }
	.s3 .s3-mega { display: none !important; }
	.s3 .s3-search { position: fixed; top: var(--hh); bottom: 0; overflow-y: auto; padding: 24px var(--m) 40px; border-bottom: 0; }
	.admin-bar.s3 .s3-search { top: calc(var(--hh) + 46px); }
	.s3 .s3-search__input, .s3 input.s3-search__input { font-size: 28px; height: 56px; }
	.s3 .s3-search__close { font-size: 0 !important; }
	.s3 .s3-sres { grid-template-columns: 1fr; gap: 16px; }
}

/* ---------------------------------------------------------------- footer (guide page 07) */
.s3 .s3-f { padding: 72px var(--m) 0; background: var(--white); color: var(--ink); }
.s3 .s3-f__grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: var(--g); }
.s3 .s3-f__news { max-width: 400px; }
.s3 .s3-f__title { font: 400 22px/1.2 var(--f-display); margin: 0 0 8px; }
.s3 .s3-f__lead { font: 400 15px/1.6 var(--f-sans); color: var(--grey-600); margin: 0 0 24px; }
.s3 .s3-f__form { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 12px; }
.s3 .s3-f__submit { margin-bottom: 12px; }
.s3 .s3-f__msg { grid-column: 1 / -1; font: 400 12px/1.5 var(--f-mono); color: var(--grey-600); margin: 0; min-height: 18px; }
.s3 .s3-f__col .s3-label { margin: 0 0 20px; }
.s3 .s3-f__col ul { display: flex; flex-direction: column; gap: 8px; }
.s3 .s3-f__col a { font: 400 15px/1.6 var(--f-sans); }
.s3 .s3-f__col a:hover { color: var(--grey-600); }
.s3 .s3-f__col li span { margin: 0 6px; }
.s3 .s3-f__bottom { display: flex; justify-content: space-between; gap: 24px; margin-top: 48px; padding: 24px 0 32px; border-top: 1px solid var(--line); font: 400 12px/1.5 var(--f-mono); color: var(--gold); }
.s3 .s3-f__bottom a:hover { color: var(--ink); }
/* Every Fragment Mono text is gold (guide v3.1). */
.s3 .s3-details__row, .s3 .s3-details__row dt, .s3 .s3-details__row dd, .s3 .s3-f__msg, .s3 .s3-search__popular, .s3 .s3-search__plabel, .s3 .s3-sres__price, .s3 .s3-mono-cap, .s3 .s3-summary__x, .s3 .s3-count, .s3 .s3-zoom__count { color: var(--gold); }
.s3 .s3-details__row dt { opacity: .75; }
.s3 .s3-film .s3-mono-cap { color: var(--white); }
@media (max-width: 1024px) {
	.s3 .s3-f__grid { grid-template-columns: 1fr 1fr 1fr; }
	.s3 .s3-f__news { grid-column: 1 / -1; margin-bottom: 40px; }
}
@media (max-width: 600px) {
	.s3 .s3-f { padding-top: 56px; }
	.s3 .s3-f__grid { grid-template-columns: 1fr 1fr; row-gap: 40px; }
	.s3 .s3-f__bottom { flex-direction: column; gap: 8px; margin-top: 40px; }
}

/* ---------------------------------------------------------------- page frame */
.s3 .s3-page { color: var(--ink); }
.s3 .s3-sec { padding: var(--sec) var(--m) 0; }
.s3 .s3-pagehead { padding: 96px var(--m) 0; }
.s3 .s3-pagehead .s3-h1 { margin-top: 16px; }
.s3 .s3-notices:empty { display: none; }
.s3 .s3-notices { padding: 24px var(--m) 0; }
.s3 .woocommerce-message, .s3 .woocommerce-info, .s3 .woocommerce-error, .s3 .wc-block-components-notice-banner { background: var(--surface) !important; color: var(--ink) !important; border: 0 !important; border-left: 1px solid var(--ink) !important; border-radius: 0 !important; padding: 16px 20px !important; margin: 0 0 12px !important; font: 400 15px/1.5 var(--f-sans) !important; list-style: none; }
.s3 .woocommerce-message::before, .s3 .woocommerce-info::before, .s3 .woocommerce-error::before { display: none !important; }
.s3 .woocommerce-message .button { float: right; background: none !important; color: var(--ink) !important; padding: 0 0 4px !important; border-bottom: 1px solid var(--ink) !important; font: 500 11px/1.2 var(--f-sans) !important; letter-spacing: .16em; text-transform: uppercase; }

/* ---------------------------------------------------------------- tiles & grids */
.s3 .s3-tile { display: block; }
.s3 .s3-tile__media img { transition: transform .8s var(--ease); }
.s3 .s3-tile:hover .s3-tile__media img { transform: scale(1.02); }
.s3 .s3-tile__name { display: block; margin-top: 16px; font: 400 22px/1.2 var(--f-display); }
.s3 .s3-tile__row { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-top: 16px; }
.s3 .s3-tile__row .s3-tile__name { margin: 0; }
.s3 .s3-tile__name--32 { font-size: 32px; line-height: 1.1; font-weight: 300; }
.s3 .s3-tile__name--26 { font-size: 26px; line-height: 1.15; font-weight: 300; }
.s3 .s3-grid2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 48px var(--g); }
.s3 .s3-grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--g); }
.s3 .s3-grid3--rows { row-gap: 48px; }
.s3 .s3-grid5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--g); }
.s3 .s3-grid6 { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--g); }
@media (max-width: 1024px) {
	.s3 .s3-grid6 { grid-template-columns: repeat(3, 1fr); row-gap: 40px; }
	.s3 .s3-grid5 { grid-template-columns: repeat(3, 1fr); row-gap: 40px; }
	.s3 .s3-tile__name--32 { font-size: 28px; }
}
@media (max-width: 600px) {
	.s3 .s3-grid2, .s3 .s3-grid3 { grid-template-columns: 1fr; row-gap: 40px; }
	.s3 .s3-grid6 { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: var(--g); margin: 0 calc(-1 * var(--m)); padding: 0 var(--m); scrollbar-width: none; }
	.s3 .s3-grid6::-webkit-scrollbar { display: none; }
	.s3 .s3-grid6 > * { flex: 0 0 42%; scroll-snap-align: start; }
	.s3 .s3-grid5 { grid-template-columns: 1fr 1fr; row-gap: 32px; }
	.s3 .s3-tile__name { font-size: 19px; }
	.s3 .s3-tile__name--32 { font-size: 26px; }
	.s3 .s3-tile__name--26 { font-size: 24px; }
	.s3 .s3-label-row { margin-bottom: 24px; }
}

/* Product card (E): 4:5 photo, then 16 gap, name Cormorant 20 left, price right. Nothing else. */
.s3 .s3-card__link { display: block; }
.s3 .s3-card__media { aspect-ratio: 4 / 5; }
.s3 .s3-card__media img { transition: opacity .3s; }
.s3 .s3-card__link:hover .s3-card__media img { opacity: .92; }
.s3 .s3-card__meta { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-top: 16px; }
.s3 .s3-card__name { font: 400 20px/1.2 var(--f-display); }
.s3 .s3-card__price { font: 400 15px/1.2 var(--f-sans); font-variant-numeric: tabular-nums; white-space: nowrap; }
.s3 .s3-pgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 64px var(--g); }
@media (max-width: 1024px) { .s3 .s3-pgrid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) {
	.s3 .s3-pgrid { grid-template-columns: repeat(2, 1fr); row-gap: 32px; }
	.s3 .s3-card__meta { flex-direction: column; gap: 4px; margin-top: 12px; }
	.s3 .s3-card__name { font-size: 16px; }
	.s3 .s3-card__price { font-size: 13px; }
}

/* ---------------------------------------------------------------- 1 · landing */
.s3 .s3-film { position: relative; height: 100vh; height: 100svh; min-height: 640px; background: var(--ink); overflow: hidden; color: var(--white); }
.s3 .s3-film__poster, .s3 .s3-film__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.s3 .s3-film__video { opacity: 0; transition: opacity .6s ease; }
.s3 .s3-film__video.is-playing { opacity: 1; }
.s3 .s3-film::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 30%; background: linear-gradient(to top, rgba(17, 17, 17, .35), rgba(17, 17, 17, 0)); pointer-events: none; }
.s3 .s3-film::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 160px; background: linear-gradient(to bottom, rgba(17, 17, 17, .3), rgba(17, 17, 17, 0)); pointer-events: none; z-index: 1; }
.s3 .s3-film__caption { position: absolute; left: var(--m); right: var(--m); bottom: 48px; z-index: 2; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.s3 .s3-film__label { font: 500 11px/1.4 var(--f-sans); letter-spacing: .16em; text-transform: uppercase; margin: 0 0 12px; }
.s3 .s3-pause, .s3 .s3-page button.s3-pause { display: inline-flex; align-items: center; gap: 8px; color: var(--white); font: 400 12px/1 var(--f-sans); letter-spacing: .02em; padding: 4px 0; }
.s3 .s3-pause .s3-ico--play, .s3 .s3-pause[aria-pressed="true"] .s3-ico--pause { display: none; }
.s3 .s3-pause[aria-pressed="true"] .s3-ico--play { display: block; }
.s3 .s3-pause__ico .s3-ico { fill: currentColor; stroke-width: 2; }
.s3 .s3-statement { padding: var(--sec) var(--m); text-align: center; }
.s3 .s3-statement .s3-h2 { max-width: 760px; margin: 0 auto; font-size: 32px; line-height: 1.3; }
.s3 .s3-statement + .s3-sec { padding-top: 0; }
.s3 .s3-landing-page .s3-collrow { padding-bottom: 0; }
@media (max-width: 600px) {
	.s3 .s3-film__caption { bottom: 28px; }
	.s3 .s3-statement .s3-h2 { font-size: 23px; line-height: 1.3; }
}

/* ---------------------------------------------------------------- 2 · about */
.s3 .s3-about__intro { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--g); align-items: center; padding: 96px var(--m) 0; }
.s3 .s3-about__text { grid-column: 1 / span 5; max-width: 460px; }
.s3 .s3-about__text .s3-h1 { margin: 16px 0 32px; }
.s3 .s3-about__text .s3-bodyl + .s3-bodyl { margin-top: 16px; }
.s3 .s3-about__film { grid-column: 6 / span 7; display: flex; justify-content: flex-end; }
.s3 .s3-about__frame { position: relative; width: 100%; max-width: 680px; overflow: hidden; background: var(--surface); }
.s3 .s3-about__frame > img, .s3 .s3-about__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.s3 .s3-about__video { opacity: 0; transition: opacity .6s; }
.s3 .s3-about__video.is-playing { opacity: 1; }
.s3 .s3-pause--small, .s3 .s3-page button.s3-pause--small { position: absolute; left: 16px; bottom: 16px; z-index: 2; gap: 10px; }
.s3 .s3-mono-cap { font: 400 12px/1 var(--f-mono); }
.s3 .s3-how .s3-label { margin-bottom: 32px; }
.s3 .s3-how__item .s3-mono { margin: 16px 0 4px; }
.s3 .s3-how__item .s3-h3 { margin-bottom: 8px; }
.s3 .s3-how__item .s3-grey { font-size: 15px; line-height: 1.6; }
.s3 .s3-place { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.s3 .s3-place__fig .s3-mono { margin-top: 12px; }
.s3 .s3-closing { padding: var(--sec) var(--m) 0; text-align: center; }
.s3 .s3-closing .s3-btn { margin-top: 32px; }
@media (max-width: 1024px) {
	.s3 .s3-about__text { grid-column: 1 / span 6; }
	.s3 .s3-about__film { grid-column: 7 / span 6; }
}
@media (max-width: 600px) {
	.s3 .s3-about__intro { display: flex; flex-direction: column-reverse; align-items: stretch; gap: 32px; padding-top: 24px; }
	.s3 .s3-place { grid-template-columns: 1fr; gap: 32px; }
}

/* ---------------------------------------------------------------- 3 · shop */
.s3 .s3-tabs { display: flex; gap: 32px; margin-top: 40px; border-bottom: 1px solid var(--line); }
.s3 .s3-tabs a { position: relative; padding: 0 0 16px; font: 500 12px/1 var(--f-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--grey-600); }
.s3 .s3-tabs a.is-active, .s3 .s3-tabs a:hover { color: var(--ink); }
.s3 .s3-tabs a.is-active::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: var(--ink); }
.s3 .s3-shop__sec { padding: 64px var(--m) 0; scroll-margin-top: calc(var(--hh) + 24px); }
.s3 .s3-shop__sec > .s3-label { margin-bottom: 32px; }
.s3 .s3-shop__sec + .s3-shop__sec { padding-top: var(--sec); }
.s3 .s3-giftblock { display: grid; grid-template-columns: 1fr 1fr; align-items: center; background: var(--surface); }
.s3 .s3-giftblock__card { padding: 96px; display: flex; justify-content: center; }
.s3 .s3-giftblock__card img { width: 100%; max-width: 520px; filter: drop-shadow(0 20px 40px rgba(17, 17, 17, .1)); }
.s3 .s3-giftblock__text { padding: 48px var(--m) 48px 0; max-width: 520px; }
.s3 .s3-giftblock__text .s3-body { margin: 16px 0 32px; color: var(--grey-600); }
@media (max-width: 1024px) { .s3 .s3-giftblock__card { padding: 64px 40px; } }
@media (max-width: 600px) {
	.s3 .s3-tabs { gap: 20px; overflow-x: auto; }
	.s3 .s3-shop__sec { padding-top: 40px; }
	.s3 .s3-giftblock { grid-template-columns: 1fr; }
	.s3 .s3-giftblock__card { padding: 48px 24px; }
	.s3 .s3-giftblock__text { padding: 0 24px 40px; }
}

/* ---------------------------------------------------------------- 3b · listing */
.s3 .s3-listhead { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--g); padding: 96px var(--m) 48px; }
.s3 .s3-listhead .s3-h1 { margin-top: 16px; }
.s3 .s3-listhead__intro { max-width: 560px; font: 400 17px/1.65 var(--f-sans); color: var(--grey-600); margin: 0; }
.s3 .s3-listhead--search .s3-h1 .s3-mono { font-size: 12px; vertical-align: middle; margin-left: 8px; }
.s3 .s3-filterbar { position: sticky; top: var(--hh); z-index: 40; display: flex; align-items: center; justify-content: space-between; gap: 24px; height: 56px; margin: 0 var(--m); background: var(--white); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.admin-bar.s3 .s3-filterbar { top: calc(var(--hh) + 32px); }
.s3 .s3-filterbar__left, .s3 .s3-filterbar__groups, .s3 .s3-filterbar__right { display: flex; align-items: center; gap: 28px; }
.s3 .s3-filter { position: relative; }
.s3 .s3-filter > summary, .s3 .s3-filterbar__mobile { display: inline-flex; align-items: center; gap: 6px; height: 54px; cursor: pointer; list-style: none; font: 500 11px/1 var(--f-sans) !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: var(--ink) !important; }
.s3 .s3-filter > summary::-webkit-details-marker { display: none; }
.s3 .s3-filter[open] > summary .s3-ico { transform: rotate(180deg); }
.s3 .s3-filter.is-active > summary { text-decoration: underline; text-underline-offset: 6px; }
.s3 .s3-dd { position: absolute; top: 100%; left: -16px; z-index: 5; min-width: 240px; max-height: 360px; overflow-y: auto; padding: 12px 0 !important; background: var(--white); border: 1px solid var(--line); }
.s3 .s3-dd--right { left: auto; right: -16px; }
.s3 .s3-dd a { display: flex; justify-content: space-between; gap: 16px; padding: 8px 16px; font: 400 15px/1.4 var(--f-sans); }
.s3 .s3-dd a:hover, .s3 .s3-dd a.is-on { background: var(--surface); }
.s3 .s3-dd a.is-on::before { content: '— '; }
.s3 .s3-dd .s3-filter__clear { font: 500 11px/1.4 var(--f-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--grey-600); border-top: 1px solid var(--line); margin-top: 8px; padding-top: 12px; }
.s3 .s3-filterbar__count { text-transform: uppercase; letter-spacing: .08em; font-size: 11px; }
.s3 .s3-filterbar__mobile { display: none; }
.s3 .s3-listing .s3-pgrid { padding: 48px var(--m) 0; }
.s3 .s3-more { display: flex; justify-content: center; padding: 96px var(--m) 0; }
.s3 .s3-empty { padding: 96px var(--m) 0; text-align: center; }
.s3 .s3-empty .s3-btn { margin-top: 32px; }
.s3 .s3-results__none { padding: 48px var(--m) 0; color: var(--grey-600); font-size: 17px; }
.s3 .s3-results .s3-listhead { border-bottom: 1px solid var(--line); margin: 0 var(--m); padding-left: 0; padding-right: 0; }
.s3 .s3-results .s3-fabrow { padding-top: 64px; }
/* Mobile filter panel (from the bottom) */
.s3 dialog.s3-sheet { position: fixed; inset: auto 0 0 0; width: 100%; max-width: none; max-height: 82vh; margin: 0; padding: 0 var(--m) 32px; border: 0; background: var(--white); color: var(--ink); overflow-y: auto; }
.s3 .s3-sheet::backdrop { background: rgba(17, 17, 17, .28); }
.s3 .s3-sheet[open] { animation: s3Up .3s var(--ease); }
@keyframes s3Up { from { transform: translateY(100%); } to { transform: none; } }
.s3 .s3-sheet__head { position: sticky; top: 0; background: var(--white); display: flex; justify-content: space-between; align-items: center; height: 56px; border-bottom: 1px solid var(--line); z-index: 1; }
.s3 .s3-sheet .s3-filter { border-bottom: 1px solid var(--line); }
.s3 .s3-sheet .s3-dd { position: static; border: 0; min-width: 0; max-height: none; padding: 0 0 12px !important; }
.s3 .s3-sheet .s3-dd a { padding: 8px 0; }
.s3 .s3-sheet .s3-btn { margin-top: 24px; width: 100%; }
@media (max-width: 600px) {
	.s3 .s3-listhead { flex-direction: column; align-items: flex-start; padding: 40px var(--m) 24px; gap: 12px; }
	.s3 .s3-listhead__intro { font-size: 15px; }
	.s3 .s3-filterbar__groups { display: none; }
	.s3 .s3-filterbar__mobile { display: inline-flex; }
	.s3 .s3-filterbar { top: var(--hh); }
	.admin-bar.s3 .s3-filterbar { top: calc(var(--hh) + 46px); }
	.s3 .s3-filterbar__right { gap: 16px; }
	.s3 .s3-listing .s3-pgrid { padding-top: 24px; }
	.s3 .s3-more { padding-top: 56px; }
	.s3 .s3-pagehead { padding-top: 40px; }
}

/* ---------------------------------------------------------------- 4 · product */
.s3 .s3-pdp > .s3-crumbs { padding: 20px var(--m) 0; }
.s3 .s3-pdp__main { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--g); padding: 20px var(--m) 0; align-items: start; }
.s3 .s3-pdp__photos { grid-column: 1 / span 6; min-width: 0; }
.s3 .s3-pdp__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.s3 .s3-pdp__ph { position: relative; display: block; overflow: hidden; background: var(--surface); aspect-ratio: 1 / 1; cursor: zoom-in; }
.s3 .s3-pdp__ph--hero { grid-column: 1 / -1; aspect-ratio: 4 / 5; }
.s3 .s3-pdp__ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.s3 .s3-dots { display: none; }
.s3 .s3-pdp__info { grid-column: 7 / span 6; padding-left: 40px; min-width: 0; align-self: stretch; }
.s3 .s3-pdp__sticky { position: sticky; top: 120px; }
.s3 .s3-pdp__name, .s3 .s3-page h1.s3-pdp__name { font: 300 44px/1.1 var(--f-display); margin: 0; }
.s3 .s3-pdp__price { margin: 16px 0 0; font: 400 18px/1.4 var(--f-sans); font-variant-numeric: tabular-nums; }
.s3 .s3-pdp__price .s3-mono { margin-left: 6px; }
.s3 .s3-pdp__desc { margin: 24px 0 0; font: 400 17px/1.65 var(--f-sans); }
.s3 .s3-pdp__desc p + p { margin-top: 12px; }
.s3 .s3-details { margin: 32px 0 0; border-bottom: 1px solid var(--line); }
.s3 .s3-details__row { display: grid; grid-template-columns: 120px 1fr; align-items: center; min-height: 40px; padding: 10px 0; border-top: 1px solid var(--line); font: 400 12px/1.5 var(--f-mono); }
.s3 .s3-details__row dt { color: var(--grey-600); }
.s3 .s3-details__row dd { margin: 0; color: var(--ink); }
.s3 .s3-pdp__buttons { display: flex; flex-direction: column; gap: 12px; margin-top: 32px; }
.s3 .s3-pdp__form { margin: 0; }
.s3 .s3-pdp__ship { margin: 16px 0 32px; }
.s3 .s3-also { padding-bottom: 0; }
/* Full-screen zoom */
.s3 dialog.s3-zoom { position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: 0; border: 0; background: var(--white); }
.s3 .s3-zoom::backdrop { background: var(--white); }
.s3 .s3-zoom[open] { display: flex; align-items: center; justify-content: center; animation: s3Fade .2s ease; }
.s3 .s3-zoom__img { max-width: calc(100% - 192px); max-height: calc(100% - 96px); object-fit: contain; cursor: zoom-out; }
.s3 .s3-zoom__close { position: absolute; top: 24px; right: var(--m); }
.s3 .s3-zoom__prev, .s3 .s3-zoom__next { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; }
.s3 .s3-zoom__prev { left: var(--m); }
.s3 .s3-zoom__next { right: var(--m); }
.s3 .s3-zoom__count { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); margin: 0; }
@media (max-width: 1024px) {
	.s3 .s3-pdp__photos { grid-column: 1 / span 6; }
	.s3 .s3-pdp__info { grid-column: 7 / span 6; padding-left: 16px; }
	.s3 .s3-pdp__name, .s3 .s3-page h1.s3-pdp__name { font-size: 36px; }
}
@media (max-width: 760px) {
	.s3 .s3-pdp__main { display: block; padding-top: 16px; }
	.s3 .s3-pdp__photos { margin: 0 calc(-1 * var(--m)); }
	.s3 .s3-pdp__grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 0; scrollbar-width: none; }
	.s3 .s3-pdp__grid::-webkit-scrollbar { display: none; }
	.s3 .s3-pdp__ph, .s3 .s3-pdp__ph--hero { flex: 0 0 100%; aspect-ratio: 4 / 5; scroll-snap-align: start; }
	.s3 .s3-dots { display: flex; justify-content: center; gap: 8px; padding: 12px 0 0; }
	.s3 .s3-dots span { width: 6px; height: 6px; border-radius: 50%; background: var(--line); }
	.s3 .s3-dots span.is-on { background: var(--ink); }
	.s3 .s3-pdp__info { padding: 24px 0 0; }
	.s3 .s3-pdp__sticky { position: static; }
	.s3 .s3-pdp__name, .s3 .s3-page h1.s3-pdp__name { font-size: 30px; }
	.s3 .s3-zoom__img { max-width: 100%; max-height: calc(100% - 120px); }
	.s3 .s3-zoom__prev, .s3 .s3-zoom__next { top: auto; bottom: 12px; transform: none; }
}

/* ---------------------------------------------------------------- 5 · cart */
.s3 .s3-cart__head { padding: 96px var(--m) 0; }
.s3 .s3-cart__head .s3-h1 .s3-mono { font-size: 12px; margin-left: 8px; vertical-align: middle; }
.s3 .s3-cart__grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--g); padding: 48px var(--m) 0; align-items: start; }
.s3 .s3-cart__items { grid-column: 1 / span 8; }
.s3 .s3-lines { border-top: 1px solid var(--ink); }
.s3 .s3-lines__row { display: grid; grid-template-columns: 120px 1fr auto; gap: 24px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.s3 .s3-lines__img { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--surface); }
.s3 .s3-lines__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.s3 .s3-lines__img img.s3-lines__gc { object-fit: contain; padding: 8px; }
.s3 .s3-lines__name { display: block; font: 400 22px/1.2 var(--f-display); margin-bottom: 8px; }
.s3 .s3-lines__txt .s3-mono { margin: 0; }
.s3 .s3-lines__txt .s3-textlink { margin-top: 16px; }
.s3 .s3-lines__price { font: 400 15px/1.4 var(--f-sans); font-variant-numeric: tabular-nums; white-space: nowrap; }
.s3 .s3-wrap { padding: 24px 0 0; }
.s3 .s3-wrap__note { margin-top: 16px; max-width: 520px; }
.s3 .s3-summary { grid-column: 9 / span 4; position: sticky; top: calc(var(--hh) + 24px); background: var(--surface); padding: 32px; }
.s3 .s3-summary > .s3-label { margin-bottom: 24px; }
.s3 .s3-summary__rows > div { display: flex; justify-content: space-between; gap: 16px; padding: 6px 0; font: 400 15px/1.5 var(--f-sans); font-variant-numeric: tabular-nums; }
.s3 .s3-summary__rows dd { margin: 0; text-align: right; }
.s3 .s3-summary__x { font: 400 12px/1 var(--f-mono); color: var(--grey-600); text-decoration: underline !important; margin-left: 6px; }
.s3 .s3-summary__total { margin-top: 12px; padding-top: 16px !important; border-top: 1px solid var(--line); font-size: 20px !important; }
.s3 .s3-code { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 12px; margin: 24px 0; }
.s3 .s3-code .s3-textlink { margin-bottom: 12px; }
.s3 .s3-summary__small { text-align: center; margin: 12px 0 0; }
.s3 .s3-cart__empty { padding: var(--sec) var(--m) 0; text-align: center; }
.s3 .s3-cart__empty .s3-btn { margin-top: 32px; }
@media (max-width: 1024px) {
	.s3 .s3-cart__items { grid-column: 1 / span 7; }
	.s3 .s3-summary { grid-column: 8 / span 5; padding: 24px; }
}
@media (max-width: 760px) {
	.s3 .s3-cart__head { padding-top: 40px; }
	.s3 .s3-cart__grid { display: block; padding-top: 24px; }
	.s3 .s3-lines__row { grid-template-columns: 88px 1fr; gap: 16px; }
	.s3 .s3-lines__price { grid-column: 2; }
	.s3 .s3-lines__name { font-size: 19px; }
	.s3 .s3-summary { position: static; margin-top: 32px; padding: 24px 20px; }
}

/* ---------------------------------------------------------------- 6 · search results (uses listing) */

/* ---------------------------------------------------------------- 7 · gift card */
.s3 .s3-gift > .s3-crumbs { padding: 20px var(--m) 0; }
.s3 .s3-gift__main { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--g); padding: 32px var(--m) 0; align-items: start; margin: 0; }
.s3 .s3-gift__preview { grid-column: 1 / span 7; }
.s3 .s3-gift__stage { background: var(--surface); padding: 96px 80px; display: flex; justify-content: center; }
.s3 .s3-gift__stage { align-items: center; }
.s3 .s3-gift__card { position: relative; width: 100%; max-width: 560px; margin: 0 auto; container-type: inline-size; }
.s3 .s3-gift__big { display: block; width: 100%; filter: drop-shadow(0 24px 48px rgba(17, 17, 17, .1)); }
.s3 .s3-gift__amount { position: absolute; right: 5.2%; bottom: 8.6%; font: 400 12px/1 var(--f-mono); font-size: 2.6cqw; letter-spacing: .04em; color: var(--ink); font-variant-numeric: tabular-nums; }
.s3 .s3-gift__label { margin: 0 0 -8px; }
.s3 .s3-gift__designs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 12px 0 0; padding: 0; border: 0; }
.s3 .s3-gift__design { position: relative; display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 20px 16px 16px; background: var(--surface); border: 1px solid transparent; cursor: pointer; }
.s3 .s3-gift__design input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.s3 .s3-gift__design:has(input:checked) { border-color: var(--ink); }
.s3 .s3-gift__design.is-on { border-color: var(--ink); }
.s3 .s3-gift__design:has(input:focus-visible) { outline: 1px solid var(--ink); outline-offset: 3px; }
.s3 .s3-gift__thumb img { display: block; width: 100%; max-width: 160px; }
.s3 .s3-gift__design .s3-mono { color: var(--ink); }
.s3 .s3-gift__form { grid-column: 8 / span 5; padding-left: 24px; display: flex; flex-direction: column; gap: 24px; }
.s3 .s3-gift__form > .s3-label { margin-bottom: -8px; }
.s3 .s3-gift__form > .s3-body { color: var(--ink); margin-top: -8px; }
.s3 .s3-gift__other { margin-top: 16px; max-width: 240px; }
.s3 .s3-gift__postnote { margin: 0; }
.s3 .s3-gift__submit { margin-top: 16px; }
.s3 .s3-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--g); }
.s3 .s3-steps__item { border-top: 1px solid var(--ink); padding-top: 20px; }
.s3 .s3-steps__item .s3-mono { margin-bottom: 8px; }
.s3 .s3-steps__item .s3-h3 { margin-bottom: 8px; }
@media (max-width: 1024px) {
	.s3 .s3-gift__stage { padding: 64px 40px; }
	.s3 .s3-gift__form { padding-left: 0; }
}
@media (max-width: 760px) {
	.s3 .s3-gift__main { display: block; padding-top: 16px; }
	.s3 .s3-gift__stage { padding: 48px 24px; }
	.s3 .s3-gift__design { padding: 12px 8px; }
	.s3 .s3-gift__form { margin-top: 40px; }
	.s3 .s3-steps { grid-template-columns: 1fr; row-gap: 32px; }
}

/* ---------------------------------------------------------------- 8 · archive (images only; no footer) */
.s3 .s3-archive { padding: 24px var(--m) var(--m); display: flex; flex-direction: column; gap: var(--g); }
.s3 .s3-arow { display: grid; gap: var(--g); }
.s3 .s3-arow--two { grid-template-columns: 1fr 1fr; }
.s3 .s3-arow--three { grid-template-columns: repeat(3, 1fr); }
.s3 .s3-arow--half { grid-template-columns: 1fr; justify-items: center; }
.s3 .s3-arow--half .s3-arow__item { width: calc(50% - var(--g) / 2); }
.s3 .s3-arow__item { position: relative; display: block; overflow: hidden; background: var(--surface); }
.s3.s3-archive-page .elementor-location-footer { display: none; }
@media (max-width: 600px) {
	.s3 .s3-arow--three { grid-template-columns: 1fr 1fr; }
	.s3 .s3-arow--three .s3-arow__item:first-child { grid-column: 1 / -1; aspect-ratio: 4 / 5; }
	.s3 .s3-arow--half .s3-arow__item { width: 100%; }
	.s3 .s3-arow--full .s3-arow__item { aspect-ratio: 4 / 3; }
}

/* ---------------------------------------------------------------- text pages & contact */
.s3 .s3-text { max-width: calc(720px + 2 * var(--m)); }
.s3 .s3-text__body { padding: 48px var(--m) 0; font: 400 15px/1.7 var(--f-sans); }
.s3 .s3-text__body h2, .s3 .s3-text__body h3 { font: 400 26px/1.2 var(--f-display) !important; margin: 40px 0 12px !important; color: var(--ink); }
.s3 .s3-text__body p, .s3 .s3-text__body ul, .s3 .s3-text__body ol { margin: 0 0 16px; }
.s3 .s3-text__body ul { list-style: disc; padding-left: 20px; }
.s3 .s3-text__body a { text-decoration: underline; text-underline-offset: 4px; }
.s3 .s3-contact__grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--g); padding: 48px var(--m) 0; }
.s3 .s3-contact__rows { grid-column: 1 / span 6; margin: 0; }
.s3 .s3-contact__rows .s3-details__row { font-size: 13px; }
.s3 .s3-contact__cta { grid-column: 8 / span 5; display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
@media (max-width: 760px) {
	.s3 .s3-contact__grid { display: block; }
	.s3 .s3-contact__cta { margin-top: 40px; }
}
/* Pages whose content is a v3 shortcode (cart, gift card…): full width, no theme title. */
.s3.s3-sc main.site-main { max-width: none !important; width: 100%; margin: 0 !important; padding: 0 !important; }
.s3.s3-sc main.site-main > .page-header, .s3.s3-sc .page-header .entry-title { display: none !important; }
.s3.s3-sc .page-content { max-width: none; padding: 0; margin: 0; }
.s3.s3-sc .post-tags, .s3.s3-sc #comments { display: none; }
/* Default theme pages (Saree care etc.) */
.s3:not(.s3-sc) main.site-main:not(.s3-page) { max-width: calc(720px + 2 * var(--m)); margin: 0 auto; padding: 96px var(--m) 0; }
.s3:not(.s3-sc) main.site-main .entry-title { font: 300 56px/1.05 var(--f-display); margin: 0 0 32px; }
@media (max-width: 600px) { .s3:not(.s3-sc) main.site-main .entry-title { font-size: 36px; } .s3 main.site-main:not(.s3-page) { padding-top: 40px; } }

/* ---------------------------------------------------------------- checkout (WooCommerce blocks) */
.s3 .wc-block-components-button:not(.is-link), .s3 .wc-block-components-checkout-place-order-button { background: var(--ink) !important; color: var(--white) !important; border-radius: 0 !important; min-height: 52px; font: 500 11px/1 var(--f-sans) !important; letter-spacing: .16em; text-transform: uppercase; }
.s3 .wc-block-components-text-input input, .s3 .wc-block-components-combobox .components-combobox-control__input, .s3 .wc-block-components-form .wc-block-components-text-input input { border-radius: 0 !important; }
.s3 .wp-block-woocommerce-checkout { padding: 48px var(--m) 0; }

/* ---------------------------------------------------------------- motion */
@media (prefers-reduced-motion: reduce) {
	.s3 *, .s3 *::before, .s3 *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
	.s3 .s3-film__video, .s3 .s3-about__video { display: none; }
}
.s3 .r-1610 img { object-position: 50% 22%; }

/* Collections row: the name is the link (no "Explore"). */
.s3 .s3-tile--coll .s3-tile__name--32 { display: block; margin-top: 16px; }
.s3 .s3-tile--coll:hover .s3-tile__name { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.s3 .s3-about__title { max-width: 520px; }
.s3 .s3-mega__gift > div .s3-label { margin-bottom: 16px; }

/* ==========================================================================
   v2.4 — spacing & mobile pass (guide pages 05–07)
   ========================================================================== */

/* Buttons that are not black buttons never take the theme / Elementor button colours. */
.s3 :is(.s3-page, .s3-h, .s3-f, .s3-menu, .s3-sheet, .s3-zoom) button:not(.s3-btn),
.s3 :is(.s3-page, .s3-h, .s3-f, .s3-menu, .s3-sheet, .s3-zoom) button:not(.s3-btn):is(:hover, :focus, :active) {
	background: transparent !important; background-color: transparent !important; box-shadow: none !important; border-radius: 0 !important;
}
.s3 .s3-filterbar__mobile { color: var(--ink) !important; border: 0 !important; padding: 0 !important; }
.s3 .s3-film .s3-pause, .s3 .s3-film .s3-pause:is(:hover, :focus) { color: var(--white) !important; border: 0 !important; padding: 4px 0 !important; }
.s3 .s3-about__frame .s3-pause { color: var(--white) !important; }

/* Landing statement: smaller, calmer. */
.s3 .s3-statement .s3-h2 { font-size: 28px; line-height: 1.4; max-width: 680px; }

/* Footer: the newsletter heading and line are gone; their space is kept. */
.s3 .s3-f__space { height: 78px; }
.s3 .s3-h-space--landing { display: none; }

/* Tablet portrait and phones: the 16:9 film is shown whole, under a white header. */
@media (max-width: 1024px) and (orientation: portrait), (max-width: 600px) {
	.s3.s3-landing .elementor-location-header { position: relative; }
	.s3.s3-landing .s3-h, .s3.s3-landing .s3-h:not(.is-solid) { background: var(--white); color: var(--ink); border-bottom-color: var(--line); }
	.s3 .s3-h-space--landing { display: block; }
	.s3 .s3-film { height: auto; min-height: 0; overflow: visible; background: transparent; padding-top: calc(100vw / var(--film-ar-n, 1.7778)); }
	.s3 .s3-film::before, .s3 .s3-film::after { display: none; }
	.s3 .s3-film__poster, .s3 .s3-film__video { top: 0; bottom: auto; height: calc(100vw / var(--film-ar-n, 1.7778)); background: var(--ink); }
	.s3 .s3-film__caption { position: static; display: flex; align-items: center; justify-content: space-between; padding: 16px var(--m) 0; color: var(--ink); }
	.s3 .s3-film__label { color: var(--ink); margin-bottom: 8px; }
	.s3 .s3-film .s3-textlink--white { color: var(--ink) !important; }
	.s3 .s3-film .s3-pause, .s3 .s3-film .s3-pause:is(:hover, :focus) { color: var(--ink) !important; }
}

@media (max-width: 600px) {
	/* Header: logo fits between ☰ and the icons. */
	.s3 .s3-h__bar { grid-template-columns: 56px 1fr 56px; padding: 0 var(--m); }
	.s3 .s3-h__right { gap: 16px; }
	.s3 .s3-logo__name { font-size: 15px; letter-spacing: .2em; margin-right: -.2em; white-space: nowrap; }
	.s3 .s3-menu__top .s3-logo__name { font-size: 15px; }

	/* Type (guide mobile sizes) */
	.s3 .s3-statement { padding: 56px var(--m); }
	.s3 .s3-statement .s3-h2 { font-size: 20px; line-height: 1.45; }
	.s3 .s3-pagehead, .s3 .s3-cart__head { padding-top: 32px; }
	.s3 .s3-listhead { padding: 32px var(--m) 24px; }
	.s3 .s3-pagehead .s3-h1, .s3 .s3-listhead .s3-h1 { margin-top: 12px; }
	.s3 .s3-card__name { font-size: 17px; line-height: 1.25; }
	.s3 .s3-card__price { font-size: 14px; }
	.s3 .s3-tile__name { margin-top: 12px; }

	/* Sections: 72 between, 20 sides, 12 gaps */
	.s3 .s3-sec { padding-top: var(--sec); }
	.s3 .s3-label-row { margin-bottom: 20px; }
	.s3 .s3-grid6 > * { flex: 0 0 44%; }
	/* Collections row: swipe sideways like the fabrics, instead of three full-screen tiles. */
	.s3 .s3-collrow .s3-grid3 { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: var(--g); margin: 0 calc(-1 * var(--m)); padding: 0 var(--m); scrollbar-width: none; }
	.s3 .s3-collrow .s3-grid3::-webkit-scrollbar { display: none; }
	.s3 .s3-collrow .s3-grid3 > * { flex: 0 0 72%; scroll-snap-align: start; }
	.s3 .s3-collrow .s3-tile__name--32 { font-size: 22px; }
	.s3 .s3-shop__sec { padding-top: 48px; }
	.s3 .s3-shop__sec + .s3-shop__sec { padding-top: var(--sec); }
	.s3 .s3-shop__sec > .s3-label { margin-bottom: 20px; }
	.s3 .s3-grid2, .s3 .s3-grid3--rows { row-gap: 32px; }
	.s3 .s3-shop .s3-grid3--rows { grid-template-columns: 1fr 1fr; column-gap: var(--g); }
	.s3 .s3-shop .s3-tile__name--26 { font-size: 19px; }
	.s3 .s3-shop .s3-tile__row { flex-direction: column; align-items: flex-start; gap: 2px; }
	.s3 .s3-about__intro { gap: 24px; padding-top: 16px; }
	.s3 .s3-about__text .s3-h1 { margin: 12px 0 20px; }
	.s3 .s3-place { gap: 12px; }

	/* Footer: compact */
	.s3 .s3-f { padding-top: 56px; }
	.s3 .s3-f__space { height: 0; }
	.s3 .s3-f__news { margin-bottom: 0; }
	.s3 .s3-f__grid { row-gap: 32px; }
	.s3 .s3-f__col .s3-label { margin-bottom: 12px; }
	.s3 .s3-f__col ul { gap: 4px; }
	.s3 .s3-f__bottom { margin-top: 40px; padding: 20px 0 24px; }

	/* Product page */
	.s3 .s3-pdp__info { padding-top: 20px; }
	.s3 .s3-pdp__desc { font-size: 16px; margin-top: 16px; }
	.s3 .s3-details { margin-top: 24px; }
	.s3 .s3-pdp__buttons { margin-top: 24px; }
	.s3 .s3-also .s3-pgrid { row-gap: 32px; }

	/* Gift card */
	.s3 .s3-gift__form { gap: 20px; margin-top: 32px; }
	.s3 .s3-steps { row-gap: 24px; }
}
@media (max-width: 360px) {
	.s3 .s3-logo__name { font-size: 13px; letter-spacing: .16em; margin-right: -.16em; }
}
@media (max-width: 600px) {
	.s3 .s3-grid6, .s3 .s3-collrow .s3-grid3, .s3 .s3-pdp__grid { scroll-padding-left: var(--m); scroll-padding-right: var(--m); }
	.s3 .s3-pdp__grid { scroll-padding: 0; }
}

/* v2.4.1 — one consistent space above the footer on every page.
   Last section always ends with the section space (128 / 96 / 72),
   then the footer's own 96 px top padding from the guide (72 tablet / 56 mobile). */
.s3 .s3-page { padding-bottom: var(--sec) !important; margin-bottom: 0 !important; }
.s3 .s3-page > :last-child { padding-bottom: 0 !important; margin-bottom: 0 !important; }
.s3 .s3-archive-page, .s3 .s3-page.s3-archive { padding-bottom: 0 !important; }
.s3 .s3-f { padding-top: 96px !important; margin-top: 0 !important; }
@media (max-width: 1024px) { .s3 .s3-f { padding-top: 72px !important; } }
@media (max-width: 600px)  { .s3 .s3-f { padding-top: 56px !important; } }
.s3 .s3-text__body > :last-child, .s3 .s3-text__body > :last-child > :last-child { margin-bottom: 0 !important; }
/* Footer bottom row: 96 px below the columns, 1 px line (guide p.07) */
.s3 .s3-f__bottom { margin-top: 96px !important; }
@media (max-width: 1024px) { .s3 .s3-f__bottom { margin-top: 64px !important; } }
@media (max-width: 600px)  { .s3 .s3-f__bottom { margin-top: 40px !important; } }
.s3 .s3-contact dd, .s3 .s3-contact a { overflow-wrap: anywhere; word-break: break-word; min-width: 0; }
.s3 .s3-giftblock__text > .s3-body:first-child { margin-top: 0; }
.s3 .s3-text__body h3 { font-size: 20px !important; margin: 24px 0 8px !important; }
.s3 .s3-text__body a { overflow-wrap: anywhere; }

/* v2.6 — client review 5 Nov */
/* Hero caption: a little more air between the label and the link; no pause button. */
.s3 .s3-film__label { margin-bottom: 18px !important; }
.s3 .s3-film .s3-pause { display: none !important; }
/* Statement a little smaller. */
.s3 .s3-statement .s3-h2 { font-size: 24px; line-height: 1.45; max-width: 600px; }
/* Collection names = fabric names. */
.s3 .s3-collrow .s3-tile__name { font: 400 22px/1.2 var(--f-display); margin-top: 16px; }
/* Footer: email row on the same line as the SHOP / HOUSE / HELP labels; field and SIGN UP on one baseline. */
.s3 .s3-f__grid { align-items: start; }
.s3 .s3-f__form { align-items: end; margin-top: -6px; }
.s3 .s3-f__form .s3-field__input { height: auto !important; min-height: 0 !important; padding: 0 0 10px !important; line-height: 20px !important; font-size: 15px; }
.s3 .s3-f__submit { margin: 0 !important; padding: 0 0 10px !important; line-height: 20px !important; }
@media (max-width: 1024px) {
	.s3 .s3-film__label { margin-bottom: 14px !important; }
}
@media (max-width: 600px) {
	.s3 .s3-statement .s3-h2 { font-size: 18px; line-height: 1.5; }
	.s3 .s3-collrow .s3-tile__name { font-size: 19px; margin-top: 12px; }
	.s3 .s3-f__grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; column-gap: 16px; }
	.s3 .s3-f__news { grid-column: 1 / -1; margin-bottom: 8px; }
	.s3 .s3-f__col a { font-size: 14px; }
	.s3 .s3-f__col li span { margin: 0 4px; }
}
.s3 .s3-f__col li { display: flex; flex-wrap: wrap; align-items: baseline; }

/* v2.6.2 — footer: email + SIGN UP sit at the bottom of the columns, level with the last link line.
   SHOP / HOUSE / HELP headings share one top line; link lists start on one line. */
.s3 .s3-f__grid { align-items: stretch !important; }
.s3 .s3-f__news { align-self: end !important; margin: 0 !important; }
.s3 .s3-f__form { margin-top: 0 !important; }
.s3 .s3-f__col { align-self: start; }
.s3 .s3-f__col .s3-label { margin: 0 0 20px !important; height: 16px; line-height: 16px !important; }
@media (max-width: 1024px) {
	.s3 .s3-f__news { order: 2; grid-column: 1 / -1; margin-top: 40px !important; }
}
@media (max-width: 600px) {
	.s3 .s3-f__news { margin-top: 32px !important; }
	.s3 .s3-f__col .s3-label { margin-bottom: 12px !important; }
}
.s3 .s3-f__form { position: relative; }
.s3 .s3-f__msg { position: absolute; left: 0; top: 100%; margin-top: 6px !important; min-height: 0 !important; }
.s3 .s3-f__form .s3-field__input, .s3 .s3-f__submit { padding-bottom: 3px !important; }

/* v2.6.3 — at the end of the page the footer fills the whole screen (below the sticky header),
   so the last section never shows behind it; the footer content sits at the bottom. */
.s3 .s3-f { min-height: calc(100vh - var(--hh)); min-height: calc(100svh - var(--hh)); display: flex; flex-direction: column; justify-content: flex-end; box-sizing: border-box; }
.s3 .s3-f > .s3-f__grid { width: 100%; }

/* v2.6.5 — header always above the footer; footer content stays at the bottom as before,
   with less empty space above it; email row level with the third link row (Gift Card). */
.s3 .elementor-location-header, .s3 header.elementor { position: relative; z-index: 1001; }
.s3 .elementor-location-footer, .s3 footer.elementor { position: relative; z-index: 1; }
.s3 .s3-h { z-index: 1002; }
.s3 .s3-f { min-height: 0 !important; height: auto; }
.s3 .s3-f { min-height: calc(100vh - var(--hh) - 150px) !important; min-height: calc(100svh - var(--hh) - 150px) !important; }
@media (min-width: 1025px) {
	.s3 .s3-f__news { align-self: start !important; margin-top: 98px !important; }
}
@media (max-width: 600px) {
	.s3 .s3-f { min-height: calc(100svh - var(--hh) - 70px) !important; }
}

/* v2.9.0 — client review 6 Nov */
/* "Sold out" tag on the photo, top right (cards and product page). */
.s3 .s3-sold { position: absolute; top: 12px; right: 12px; z-index: 2; padding: 5px 9px 4px; background: rgba(255, 255, 255, .94); color: var(--ink); font: 400 11px/1.2 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; pointer-events: none; }
@media (max-width: 600px) { .s3 .s3-sold { top: 8px; right: 8px; padding: 4px 7px 3px; font-size: 10px; } }
.s3 .s3-pdp__ph { position: relative; }
/* Tiger landscape under the statement. */
.s3 .s3-banner { padding: 0 var(--m); }
.s3 .s3-banner img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; background: var(--ink); }
/* Hero caption: a little less space between "Bindu – Festive" and "Shop the collection". */
.s3 .s3-film__label { margin-bottom: 10px !important; }
@media (max-width: 1024px) { .s3 .s3-film__label { margin-bottom: 8px !important; } }
/* Footer: a divider above it, with the same space above and below the line; less space above the © line. */
.s3 { --fgap: 96px; }
@media (max-width: 1024px) { .s3 { --fgap: 72px; } }
@media (max-width: 600px)  { .s3 { --fgap: 56px; } }
.s3 .s3-page { padding-bottom: var(--fgap) !important; }
.s3 .s3-f { min-height: 0 !important; justify-content: flex-start !important; padding-top: var(--fgap) !important; border-top: 1px solid var(--line); }
.s3 .s3-f__bottom { margin-top: 56px !important; }
@media (max-width: 1024px) { .s3 .s3-f__bottom { margin-top: 40px !important; } }
@media (max-width: 600px)  { .s3 .s3-f__bottom { margin-top: 28px !important; } }

/* v2.9.1 — top footer divider inset like the bottom one; same space under it as above the bottom divider;
   60 px more space above it. */
.s3 { --fdiv: 56px; }
@media (max-width: 1024px) { .s3 { --fdiv: 40px; } }
@media (max-width: 600px)  { .s3 { --fdiv: 28px; } }
.s3 .s3-page { padding-bottom: calc(var(--fgap) + 60px) !important; }
.s3 .s3-f { border-top: 0 !important; padding-top: 0 !important; }
.s3 .s3-f::before { content: ""; display: block; flex: none; width: 100%; height: 1px; background: var(--line); margin: 0 0 var(--fdiv); }
.s3 .s3-f__bottom { margin-top: var(--fdiv) !important; }

/* v2.9.2 — more space above and below the statement line. */
.s3 .s3-statement { padding: 176px var(--m) !important; }
@media (max-width: 1024px) { .s3 .s3-statement { padding: 120px var(--m) !important; } }
@media (max-width: 600px)  { .s3 .s3-statement { padding: 88px var(--m) !important; } }

/* v2.9.3 — gift card block: card and button centred together, no empty space on the right. */
.s3 .s3-giftblock { grid-template-columns: minmax(0, 520px) auto !important; justify-content: center; column-gap: 72px; padding: 96px var(--m); }
.s3 .s3-giftblock__card { padding: 0 !important; }
.s3 .s3-giftblock__text { padding: 0 !important; max-width: none; }
@media (max-width: 1024px) { .s3 .s3-giftblock { grid-template-columns: minmax(0, 400px) auto !important; column-gap: 48px; padding: 64px 40px; } }
@media (max-width: 600px) {
	.s3 .s3-giftblock { grid-template-columns: 1fr !important; justify-items: center; row-gap: 32px; padding: 48px 24px; }
	.s3 .s3-giftblock__card img { max-width: 320px; }
}

/* v2.9.4 — logo reads SARRVAMANGALI SILK; sized so it always fits between the menu and the icons. */
.s3 .s3-logo__name { white-space: nowrap; }
@media (max-width: 1280px) { .s3 .s3-h .s3-logo__name { font-size: 20px; letter-spacing: .26em; margin-right: -.26em; } }
@media (max-width: 1024px) { .s3 .s3-h .s3-logo__name { font-size: 16px; letter-spacing: .22em; margin-right: -.22em; } }
@media (max-width: 600px)  { .s3 .s3-h .s3-logo__name, .s3 .s3-menu__top .s3-logo__name { font-size: 13px; letter-spacing: .16em; margin-right: -.16em; } }
@media (max-width: 380px)  { .s3 .s3-h .s3-logo__name, .s3 .s3-menu__top .s3-logo__name { font-size: 11.5px; letter-spacing: .12em; margin-right: -.12em; } }
