/* ==========================================================================
   Zain Gift Studio — native Kadence block versions of the sections.
   Same design as the original shortcode sections (tokens from zain.css).
   Blocks carry the original zgh-* class names (Advanced > Additional CSS class),
   so text, images, icons and buttons stay editable in the block editor.
   ========================================================================== */

/* Editor helpers for the Zain dynamic blocks */
.zgh-block-preview { min-height: 40px; }
.zgh-block-empty { padding: 1rem 1.25rem; border: 1px dashed var(--zgh-gold); border-radius: var(--zgh-radius-sm); background: var(--zgh-ivory); color: var(--zgh-muted); font-size: .85rem; }
.zgh-block-help { color: #757575; font-size: 12px; }

/* ---------- Kadence structure resets inside Zain sections ---------- */
.zgh-k.kb-row-layout-wrap > .kt-row-column-wrap { padding: 0; }
.zgh-k .wp-block-kadence-column > .kt-inside-inner-col { row-gap: 0; }
.zgh-k :is(h1, h2, h3, h4, p).wp-block-kadence-advancedheading { margin-top: 0; }
.zgh-k .wp-block-kadence-advancedbtn { margin: 0; }
.zgh-k .wp-block-kadence-icon { display: block; }
.zgh-k .kt-svg-icon-wrap, .zgh-k .kb-svg-icon-wrap { display: inline-flex; }
.zgh-k .kb-svg-icon-wrap svg { width: 1em; height: 1em; }

/* ---------- Buttons (Kadence Advanced Button + class zgh-kbtn--{style}) ---------- */
.wp-block-kadence-advancedbtn .kb-button.zgh-kbtn,
.editor-styles-wrapper .wp-block-kadence-advancedbtn .kb-button.zgh-kbtn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	min-height: 48px; padding: .8em 1.6em; border-radius: 999px; border: 1.5px solid transparent;
	font-family: var(--zgh-sans); font-size: .9rem; font-weight: 600; letter-spacing: .02em; line-height: 1.1; text-transform: none;
	text-decoration: none; cursor: pointer; box-shadow: none;
	transition: background .25s var(--zgh-ease), color .25s, border-color .25s, transform .2s, box-shadow .25s;
}
.wp-block-kadence-advancedbtn .kb-button.zgh-kbtn:hover { transform: translateY(-1px); }
.wp-block-kadence-advancedbtn .kb-button.zgh-kbtn::before { display: none; }
.wp-block-kadence-advancedbtn .kb-button.zgh-kbtn .kb-svg-icon-wrap { display: inline-flex; padding: 0; margin: 0; }
.wp-block-kadence-advancedbtn .kb-button.zgh-kbtn .kb-svg-icon-wrap svg { width: 18px; height: 18px; }
.wp-block-kadence-advancedbtn .kb-button.zgh-kbtn--sm { min-height: 40px; padding: .6em 1.2em; font-size: .82rem; }
.wp-block-kadence-advancedbtn .kb-button.zgh-kbtn--sm .kb-svg-icon-wrap svg { width: 16px; height: 16px; }
.wp-block-kadence-advancedbtn .kb-button.zgh-kbtn--gold { background: var(--zgh-gold); color: var(--zgh-onyx); border-color: var(--zgh-gold); box-shadow: 0 8px 20px -10px rgba(201, 162, 75, .8); }
.wp-block-kadence-advancedbtn .kb-button.zgh-kbtn--gold:hover { background: var(--zgh-gold-d); border-color: var(--zgh-gold-d); color: var(--zgh-onyx); }
.wp-block-kadence-advancedbtn .kb-button.zgh-kbtn--dark { background: var(--zgh-onyx); color: var(--zgh-ivory); border-color: var(--zgh-onyx); }
.wp-block-kadence-advancedbtn .kb-button.zgh-kbtn--dark:hover { background: #2a2725; color: var(--zgh-white); }
.wp-block-kadence-advancedbtn .kb-button.zgh-kbtn--outline { background: transparent; color: var(--zgh-onyx); border-color: var(--zgh-onyx); }
.wp-block-kadence-advancedbtn .kb-button.zgh-kbtn--outline:hover { background: var(--zgh-onyx); color: var(--zgh-ivory); }
.wp-block-kadence-advancedbtn .kb-button.zgh-kbtn--ghost-light { background: transparent; color: var(--zgh-ivory); border-color: rgba(250, 247, 242, .55); }
.wp-block-kadence-advancedbtn .kb-button.zgh-kbtn--ghost-light:hover { background: var(--zgh-ivory); color: var(--zgh-onyx); }
.wp-block-kadence-advancedbtn .kb-button.zgh-kbtn--whatsapp { background: var(--zgh-wa); color: #fff; border-color: var(--zgh-wa); }
.wp-block-kadence-advancedbtn .kb-button.zgh-kbtn--whatsapp:hover { background: #178a45; color: #fff; }
.wp-block-kadence-advancedbtn .kb-button.zgh-kbtn--whatsapp .kb-svg-icon-wrap svg { width: 20px; height: 20px; }
.zgh-k .wp-block-kadence-advancedbtn { gap: .75rem; flex-wrap: wrap; }

/* ---------- Page hero ---------- */
.zgh-page-hero.zgh-k { text-align: center; max-width: 760px; margin: 0 auto clamp(28px, 4vw, 48px); padding-top: clamp(8px, 2vw, 24px); }
.zgh-page-hero.zgh-k .kt-inside-inner-col { align-items: center; }
.zgh-page-hero.zgh-k .zgh-page-hero__icon { margin: 0 auto 1rem; width: max-content; line-height: 0; }
.zgh-page-hero.zgh-k .zgh-page-hero__icon .kt-svg-icon-wrap { margin: 0 auto; width: 64px; height: 64px; border-radius: 50%; background: var(--zgh-blush); color: var(--zgh-wine); display: grid; place-items: center; padding: 0; border: 0; }
.zgh-page-hero.zgh-k .zgh-page-hero__icon svg { width: 30px; height: 30px; }
.zgh-page-hero.zgh-k .zgh-eyebrow { margin: 0 0 2rem; }
.zgh-page-hero.zgh-k h1 { font-size: clamp(2rem, 4.5vw, 3.2rem); font-weight: 500; margin: 0 0 .75rem; line-height: 1.1; }
.zgh-page-hero.zgh-k .zgh-page-hero__lead { color: var(--zgh-muted); font-size: 1.02rem; line-height: 1.7; margin: 0; }

/* ---------- WhatsApp CTA box ---------- */
.zgh-wa-cta.zgh-k { display: block; max-width: 860px; margin: clamp(28px, 4vw, 48px) auto; padding: 1.5rem 1.75rem; border-radius: var(--zgh-radius-lg); background: var(--zgh-onyx); color: var(--zgh-ivory); box-sizing: border-box; }
.zgh-wa-cta.zgh-k.kb-row-layout-wrap .wp-block-kadence-column > .kt-inside-inner-col { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.zgh-wa-cta.zgh-k .zgh-wa-cta__icon { line-height: 0; flex: 0 0 auto; }
.zgh-wa-cta.zgh-k .zgh-wa-cta__icon .kt-svg-icon-wrap { width: 58px; height: 58px; border-radius: 50%; background: var(--zgh-wa); color: #fff; display: grid; place-items: center; padding: 0; border: 0; }
.zgh-wa-cta.zgh-k .zgh-wa-cta__icon svg { width: 30px; height: 30px; }
.zgh-wa-cta.zgh-k .zgh-wa-cta__text { flex: 1 1 280px; margin: 0; }
.zgh-wa-cta.zgh-k .zgh-wa-cta__text > * { margin-top: 0; }
.zgh-wa-cta.zgh-k h2 { color: var(--zgh-ivory); font-size: 1.4rem; font-weight: 500; margin: 0 0 .3rem; }
.zgh-wa-cta.zgh-k .zgh-wa-cta__text p { margin: 0; color: rgba(250, 247, 242, .75); font-size: .9rem; }
.zgh-wa-cta.zgh-k.kb-row-layout-wrap .wp-block-kadence-column > .kt-inside-inner-col { justify-content: flex-start; }
.zgh-wa-cta.zgh-k .wp-block-kadence-advancedbtn { flex: 0 0 auto; width: auto; justify-content: flex-start; }
.zgh-wa-cta.zgh-k .wp-block-kadence-advancedbtn .kb-button.zgh-kbtn { width: auto; }

/* ---------- Shared: grid rows (Kadence row → CSS grid like the original lists) ----------
   The original lists kept the theme's 2em list indent on the left; kept for an identical layout. */
.zgh-k .wp-block-kadence-column { min-width: 0; }

/* ---------- Contact cards ---------- */
.zgh-contact-k.zgh-k { max-width: 1100px; margin: 0 0 2rem; }
.zgh-contact-k.zgh-k.kb-row-layout-wrap > .kt-row-column-wrap { grid-template-columns: repeat(4, 1fr); gap: 14px; padding: 0 0 0 2em; }
@media (max-width: 900px) { .zgh-contact-k.zgh-k.kb-row-layout-wrap > .kt-row-column-wrap { grid-template-columns: 1fr 1fr; } }
.zgh-contact-k .zgh-contact-card { position: relative; }
.zgh-contact-k .zgh-contact-card > .kt-inside-inner-col { height: 100%; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; gap: .3rem; padding: 1.5rem 1rem; border-radius: var(--zgh-radius); background: var(--zgh-white); border: 1px solid #F0EAE1; color: var(--zgh-onyx); transition: box-shadow .25s, border-color .25s; }
.zgh-contact-k .zgh-contact-card:has(.kb-section-link-overlay):hover > .kt-inside-inner-col { box-shadow: var(--zgh-shadow-sm); border-color: var(--zgh-gold-l); }
.zgh-contact-k .zgh-contact-card__icon { line-height: 0; margin: 0 0 .4rem; }
.zgh-contact-k .zgh-contact-card__icon .kt-svg-icon-wrap { width: 54px; height: 54px; border-radius: 50%; background: var(--zgh-blush); color: var(--zgh-wine); display: grid; place-items: center; padding: 0; border: 0; }
.zgh-contact-k .zgh-contact-card__icon svg { width: 26px; height: 26px; }
.zgh-contact-k .zgh-contact-card__text, .zgh-contact-k .zgh-contact-card__text > .wp-block-group__inner-container { display: flex; flex-direction: column; align-items: center; gap: .3rem; margin: 0; }
.zgh-contact-k .zgh-contact-card__text .wp-block-kadence-advancedheading { margin: 0 !important; }
.zgh-contact-k .zgh-contact-card__title { font-weight: 700; font-size: 1rem; line-height: 1.7; color: var(--zgh-onyx); }
.zgh-contact-k .zgh-contact-card__sub { font-size: .88rem; line-height: 1.7; word-break: break-word; color: var(--zgh-onyx); }
.zgh-contact-k .zgh-contact-card__extra { font-size: .76rem; line-height: 1.7; color: var(--zgh-muted); }

/* ---------- Feature grid (Corporate) ---------- */
.zgh-feature-k.zgh-k { max-width: 1100px; margin: 0 0 2rem; }
.zgh-feature-k.zgh-k.kb-row-layout-wrap > .kt-row-column-wrap { grid-template-columns: repeat(3, 1fr); gap: 16px; padding: 0 0 0 2em; }
@media (max-width: 800px) { .zgh-feature-k.zgh-k.kb-row-layout-wrap > .kt-row-column-wrap { grid-template-columns: 1fr; } }
.zgh-feature-k .zgh-feature > .kt-inside-inner-col { height: 100%; box-sizing: border-box; background: var(--zgh-white); border: 1px solid #F0EAE1; border-radius: var(--zgh-radius); padding: 1.4rem; display: block; }
.zgh-feature-k .zgh-feature h3 { font-size: 1.1rem; margin: 0 0 .4rem !important; }
.zgh-feature-k .zgh-feature p { margin: 0 !important; color: var(--zgh-muted); font-size: .88rem; line-height: 1.6; }

/* ---------- Trust strip ---------- */
.zgh-trust-k.zgh-k { width: 100%; max-width: var(--zgh-max); margin-inline: auto; padding-inline: var(--zgh-gutter); box-sizing: border-box; }
.zgh-trust-k.zgh-k.kb-row-layout-wrap > .kt-row-column-wrap { grid-template-columns: repeat(5, 1fr); gap: 1rem; padding: 1.5rem clamp(16px, 3vw, 36px) 1.5rem 2em; }
.zgh-trust-k--home.zgh-k.kb-row-layout-wrap > .kt-row-column-wrap { background: var(--zgh-white); border-radius: var(--zgh-radius-lg); border: 1px solid #F0EAE1; }
@media (max-width: 1100px) { .zgh-trust-k.zgh-k.kb-row-layout-wrap > .kt-row-column-wrap { grid-template-columns: repeat(3, 1fr); row-gap: 1.25rem; } }
@media (max-width: 600px) { .zgh-trust-k.zgh-k.kb-row-layout-wrap > .kt-row-column-wrap { grid-template-columns: 1fr 1fr; } .zgh-trust-k .zgh-trust__item:nth-last-child(1 of .zgh-trust__item) { grid-column: 1 / -1; } }
.zgh-trust-k .zgh-trust__item { align-self: stretch; }
.zgh-trust-k .zgh-trust__item > .kt-inside-inner-col { display: flex; flex-direction: row; align-items: center; gap: .8rem; height: 100%; box-sizing: border-box; }
@media (max-width: 600px) { .zgh-trust-k .zgh-trust__item > .kt-inside-inner-col { flex-direction: column; justify-content: flex-start; text-align: center; gap: .45rem; } }
.zgh-trust-k .zgh-trust__item__icon { line-height: 0; flex: 0 0 auto; }
.zgh-trust-k .zgh-trust__item__icon .kt-svg-icon-wrap { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; padding: 0; border: 0; }
.zgh-trust-k--home .zgh-trust__item__icon .kt-svg-icon-wrap { background: var(--zgh-blush); color: var(--zgh-wine); }
.zgh-trust-k .zgh-trust__item__icon svg { width: 26px; height: 26px; }
.zgh-trust-k .zgh-trust__item__text { margin: 0; }
.zgh-trust-k .zgh-trust__item__text .wp-block-kadence-advancedheading { margin: 0 !important; }
.zgh-trust-k .zgh-trust__item__title { display: block; font-size: .86rem; font-weight: 700; line-height: 1.7; }
.zgh-trust-k .zgh-trust__item__sub { display: block; font-size: .74rem; line-height: 1.4; }
.zgh-trust-k--home .zgh-trust__item__sub { color: var(--zgh-muted); }

/* ---------- FAQ (Kadence Accordion) ---------- */
.zgh-faq-k.zgh-k { max-width: 860px; margin: 1.2rem auto; }
.zgh-faq-k.wp-block-kadence-accordion .kt-accordion-inner-wrap { display: grid; grid-template-columns: 1fr; gap: .6rem; }
.zgh-faq-k.wp-block-kadence-accordion .kt-accordion-pane { background: var(--zgh-white); border: 1px solid #F0EAE1; border-radius: var(--zgh-radius-sm); overflow: hidden; margin: 0; }
.zgh-faq-k.wp-block-kadence-accordion .kt-accordion-header-wrap { margin: 0; }
.zgh-faq-k.wp-block-kadence-accordion .kt-blocks-accordion-header,
.zgh-faq-k.wp-block-kadence-accordion .kt-blocks-accordion-header:hover,
.zgh-faq-k.wp-block-kadence-accordion .kt-blocks-accordion-header:focus,
.zgh-faq-k.wp-block-kadence-accordion .kt-blocks-accordion-header.kt-accordion-panel-active { display: flex; justify-content: space-between; align-items: center; gap: 1rem; width: 100%; padding: 1rem 1.1rem; margin: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; font-family: var(--zgh-sans); font-weight: 700; font-size: .92rem; line-height: 1.7; letter-spacing: normal; text-transform: none; color: var(--zgh-onyx); text-align: left; }
.zgh-faq-k.wp-block-kadence-accordion .kt-blocks-accordion-title { font: inherit; color: inherit; }
.zgh-faq-k.wp-block-kadence-accordion .kt-blocks-accordion-icon-trigger { position: relative; flex: 0 0 18px; width: 18px; height: 18px; margin: 0; background: none; border: 0; transition: transform .25s; }
.zgh-faq-k.wp-block-kadence-accordion .kt-blocks-accordion-icon-trigger::before,
.zgh-faq-k.wp-block-kadence-accordion .kt-blocks-accordion-icon-trigger::after { content: ""; position: absolute; left: 50%; top: 50%; width: 10.5px !important; height: 1.2px !important; margin: 0 !important; border-radius: 1px; background: var(--zgh-gold-d) !important; transform: translate(-50%, -50%) !important; opacity: 1 !important; }
.zgh-faq-k.wp-block-kadence-accordion .kt-blocks-accordion-icon-trigger::after { transform: translate(-50%, -50%) rotate(90deg) !important; }
.zgh-faq-k.wp-block-kadence-accordion .kt-accordion-panel-active .kt-blocks-accordion-icon-trigger { transform: rotate(45deg); }
.zgh-faq-k.wp-block-kadence-accordion .kt-accordion-panel-inner { padding: 0 1.1rem 1.1rem; border: 0; background: transparent; font-size: .9rem; line-height: 1.7; color: var(--zgh-text); }
.zgh-faq-k.wp-block-kadence-accordion .kt-accordion-panel-inner p { margin: 0; font-size: inherit; line-height: inherit; }

/* ==========================================================================
   HOMEPAGE
   ========================================================================== */
/* Groups: the theme wraps group content in an inner container. */
.zgh-k .wp-block-group { margin: 0; }
.zgh-k .wp-block-group > .wp-block-group__inner-container > * { margin-top: 0; }
.zgh-k :is(.zgh-sec-head__text, .zgh-promise__text, .zgh-catcards__body, .zgh-circle) .wp-block-kadence-advancedheading { margin-top: 0; }

/* Section heading + "View all" */
.zgh-k .zgh-sec-head > .wp-block-group__inner-container { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; width: 100%; }
.zgh-k .zgh-sec-head .zgh-sec-title { margin: 0; }
.wp-block-kadence-advancedbtn .kb-button.zgh-kbtn--viewall { display: inline-flex; align-items: center; gap: .35rem; min-height: 0; padding: 0 0 2px; border: 0; border-bottom: 1px solid var(--zgh-gold); border-radius: 0; background: transparent; box-shadow: none; color: var(--zgh-onyx); font-size: .82rem; font-weight: 600; letter-spacing: 0; white-space: nowrap; }
.wp-block-kadence-advancedbtn .kb-button.zgh-kbtn--viewall:hover { color: var(--zgh-gold-d); background: transparent; transform: none; }
.wp-block-kadence-advancedbtn .kb-button.zgh-kbtn--viewall .kb-svg-icon-wrap svg { width: 16px; height: 16px; }

/* Decorative line-art (Kadence Icon block with class zgh-art) — the rings are drawn with CSS */
.wp-block-kadence-icon.zgh-art { position: relative; width: 100%; height: 100%; display: grid; grid-template-columns: 100%; grid-template-rows: 100%; place-items: center; overflow: hidden; margin: 0; }
.wp-block-kadence-icon.zgh-art::before, .wp-block-kadence-icon.zgh-art::after { content: ""; position: absolute; width: 62%; aspect-ratio: 1; border-radius: 50%; border: 1px solid currentColor; opacity: .28; pointer-events: none; }
.wp-block-kadence-icon.zgh-art::after { width: 82%; opacity: .14; }
.wp-block-kadence-icon.zgh-art .kt-svg-icon-wrap, .wp-block-kadence-icon.zgh-art .kb-svg-icon-wrap { display: contents; }
.wp-block-kadence-icon.zgh-art svg { width: 34%; height: auto; max-width: 220px; opacity: .9; stroke-width: .7; }

/* ---------- Hero ---------- */
.zgh-khero.zgh-k > .kt-row-column-wrap { display: block; padding: 0; }
.zgh-khero.zgh-k.alignfull { width: 100%; max-width: none; margin-left: 0; margin-right: 0; }
.zgh-khero .zgh-hero__slides > .kt-inside-inner-col { display: block; position: static; }
.zgh-khero .zgh-hero__slides.wp-block-kadence-column { display: block; min-height: clamp(520px, 72vh, 680px); }
@media (max-width: 767px) { .zgh-khero .zgh-hero__slides.wp-block-kadence-column { min-height: 680px; } }
.zgh-khero .zgh-hero__slide.kb-row-layout-wrap { position: absolute; inset: 0; row-gap: 0; column-gap: 0; grid-template-rows: minmax(0, 1fr); grid-auto-rows: 0; }
.zgh-khero .zgh-hero__slide > .kt-row-column-wrap { display: contents; }
.zgh-khero .zgh-hero__slide .zgh-hero__media.wp-block-kadence-column { position: absolute; inset: 0; }
.zgh-khero .zgh-hero__slide .zgh-hero__content.wp-block-kadence-column { grid-row: 1; grid-column: 1; align-self: center; display: block; }
.zgh-khero .zgh-hero__chips ul.kt-svg-icon-list { padding-left: 2em !important; }
.zgh-khero .zgh-hero__slide .zgh-hero__media > .kt-inside-inner-col { position: absolute; inset: 0; display: block; }
.zgh-khero .zgh-hero__media figure { margin: 0; width: 100%; height: 100%; }
.zgh-khero .zgh-hero__media img, .zgh-khero .zgh-hero__media .zgh-art { width: 100%; height: 100%; object-fit: cover; transform: scale(1.12); transition: transform 7.5s linear; }
.zgh-khero .zgh-hero__slide.is-active .zgh-hero__media img, .zgh-khero .zgh-hero__slide.is-active .zgh-hero__media .zgh-art { transform: scale(1); }
.zgh-khero .zgh-hero__slide:not(.has-photo) .zgh-art { justify-items: end; padding-right: 8%; box-sizing: border-box; }
.zgh-khero .zgh-hero__slide:not(.has-photo) .zgh-art::before { left: auto; right: 6%; width: min(46vw, 560px); }
.zgh-khero .zgh-hero__slide:not(.has-photo) .zgh-art::after { left: auto; right: 1%; width: min(58vw, 700px); }
.zgh-khero .zgh-hero__slide:not(.has-photo) .zgh-art svg { width: min(24vw, 300px); max-width: none; margin-right: calc(min(46vw, 560px) / 2 - min(24vw, 300px) / 2 - 2%); }
.zgh-khero .zgh-hero__slide .zgh-hero__content > .kt-inside-inner-col { display: block; opacity: 1; transform: none; }
.zgh-khero .zgh-hero__slide .zgh-hero__content > .kt-inside-inner-col > * { opacity: 0; transform: translateY(22px); transition: opacity .8s var(--zgh-ease), transform .8s var(--zgh-ease); }
.zgh-khero .zgh-hero__slide.is-active .zgh-hero__content > .kt-inside-inner-col > * { opacity: 1; transform: none; }
.zgh-khero .zgh-hero__slide.is-active .zgh-hero__content > .kt-inside-inner-col > *:nth-child(2) { transition-delay: .12s; }
.zgh-khero .zgh-hero__slide.is-active .zgh-hero__content > .kt-inside-inner-col > *:nth-child(3) { transition-delay: .24s; }
.zgh-khero .zgh-hero__slide.is-active .zgh-hero__content > .kt-inside-inner-col > *:nth-child(4) { transition-delay: .36s; }
.zgh-khero .zgh-hero__slide.is-active .zgh-hero__content > .kt-inside-inner-col > *:nth-child(5) { transition-delay: .48s; }
.zgh-hero__eyebrow mark, .zgh-hero__eyebrow mark.kt-highlight { background: none !important; color: inherit !important; -webkit-text-fill-color: currentColor; }
.zgh-khero .zgh-hero__eyebrow mark { background: none; color: inherit; font-family: var(--zgh-serif); font-size: 1rem; letter-spacing: 0; padding: 0 .75rem 0 0; margin-right: .75rem; border-right: 1px solid rgba(201, 162, 75, .5); }
.zgh-khero .zgh-hero__eyebrow { display: block; }
.zgh-khero .zgh-hero__title { color: var(--zgh-ivory); }
.zgh-khero .zgh-hero__ctas.wp-block-kadence-advancedbtn { margin-bottom: 1.6rem; }
.zgh-khero .zgh-hero__chips ul.kt-svg-icon-list { display: flex !important; flex-wrap: wrap; gap: .5rem 1.25rem !important; margin: 0 !important; padding: 0; list-style: none; font-size: .8rem; color: rgba(250, 247, 242, .85); }
.zgh-khero .zgh-hero__chips li.kt-svg-icon-list-item-wrap { display: inline-flex; align-items: center; gap: .4rem; margin: 0; padding: 0; height: 22px; line-height: 22px; }
.zgh-khero .zgh-hero__chips .kt-svg-icon-list-single { line-height: 0; }
.zgh-khero .zgh-hero__chips .kt-svg-icon-list-single { margin: 0 !important; color: var(--zgh-gold); }
.zgh-khero .zgh-hero__chips svg { width: 16px !important; height: 16px !important; font-size: 16px !important; }
.zgh-hero__tabname { display: none !important; }
@media (max-width: 767px) {
	.zgh-khero .zgh-hero__slide .zgh-hero__content.wp-block-kadence-column { align-self: end; }
	.zgh-khero .zgh-hero__slide:not(.has-photo) .zgh-art { justify-items: center; align-items: start; padding: 40px 0 0; }
	.zgh-khero .zgh-hero__slide:not(.has-photo) .zgh-art::before { right: auto; left: auto; top: 18px; width: 260px; }
	.zgh-khero .zgh-hero__slide:not(.has-photo) .zgh-art::after { right: auto; left: auto; top: -10px; width: 320px; }
	.zgh-khero .zgh-hero__slide:not(.has-photo) .zgh-art svg { width: 120px; margin: 88px 0 0; }
	.zgh-khero .zgh-hero__ctas.wp-block-kadence-advancedbtn { gap: .5rem; margin-bottom: 1.1rem; flex-wrap: nowrap; }
	.zgh-khero .zgh-hero__ctas .kb-button.zgh-kbtn { flex: 1 1 0; min-height: 44px; padding: .7em .9em; font-size: .8rem; }
	.zgh-khero .zgh-hero__chips ul.kt-svg-icon-list { font-size: .72rem; gap: .35rem .9rem !important; }
}
/* In the block editor, show the slides one under another so each can be edited. */
.editor-styles-wrapper .zgh-khero .zgh-hero__slides { min-height: 0; }
.editor-styles-wrapper .zgh-hero__slide { position: relative !important; inset: auto !important; opacity: 1 !important; visibility: visible !important; min-height: 520px; margin-bottom: 4px; }
.editor-styles-wrapper .zgh-hero__slide .zgh-hero__content, .editor-styles-wrapper .zgh-hero__slide .zgh-hero__content * { opacity: 1 !important; transform: none !important; }
.editor-styles-wrapper .zgh-hero__media img { transform: none !important; }
.editor-styles-wrapper .zgh-reveal { opacity: 1 !important; transform: none !important; }
.editor-styles-wrapper .zgh-khero .zgh-hero__slide.kb-row-layout-wrap { position: relative; opacity: 1; visibility: visible; min-height: 520px; margin-bottom: 4px; }
.editor-styles-wrapper .zgh-khero .zgh-hero__slide .zgh-hero__content > .kt-inside-inner-col > * { opacity: 1; transform: none; }
.editor-styles-wrapper .zgh-khero .zgh-hero__media img, .editor-styles-wrapper .zgh-khero .zgh-hero__media .zgh-art { transform: none; }
.editor-styles-wrapper .zgh-hero__tabname { display: block !important; opacity: .6 !important; font-size: .75rem; }
.editor-styles-wrapper .zgh-khero .zgh-hero__script { position: static; }

/* ---------- Promises ---------- */
/* The original card overlapped the hero by 46px via a collapsing negative margin; same result on the row itself. */
.home .entry-content > .zgh-promises.zgh-k, .zgh-promises.zgh-k { margin-top: calc(clamp(40px, 6vw, 72px) - 46px); position: relative; z-index: 5; }
.zgh-promises.zgh-k > .kt-row-column-wrap { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; padding: 1.5rem; background: var(--zgh-white); border-radius: var(--zgh-radius-lg); box-shadow: var(--zgh-shadow); margin-top: 0; position: relative; z-index: 5; }
.zgh-promises .zgh-promise > .kt-inside-inner-col { display: flex; flex-direction: row; gap: .9rem; align-items: flex-start; }
.zgh-promises div.zgh-promise:not(:first-of-type) { border-left: 1px solid var(--zgh-line); padding-left: 1.25rem; }
.zgh-promises .zgh-promises__icon { line-height: 0; flex: 0 0 auto; }
.zgh-promises .zgh-promises__icon .kt-svg-icon-wrap { width: 48px; height: 48px; border-radius: 50%; background: var(--zgh-blush); color: var(--zgh-wine); display: grid; place-items: center; padding: 0; border: 0; }
.zgh-promises .zgh-promises__icon svg { width: 26px; height: 26px; }
.zgh-promises .zgh-promise__text { flex: 1 1 auto; }
.zgh-promises .zgh-promise__text h3 { margin: 0 0 .2rem !important; }
.zgh-promises .zgh-promise__text p { margin: 0 !important; }
@media (max-width: 1024px) { .zgh-promises.zgh-k > .kt-row-column-wrap { grid-template-columns: repeat(2, 1fr); } .zgh-promises div.zgh-promise:nth-of-type(3) { border-left: 0; padding-left: 0; } }
@media (max-width: 600px) {
	.home .entry-content > .zgh-promises.zgh-k, .zgh-promises.zgh-k { margin-top: calc(clamp(40px, 6vw, 72px) - 30px); }
	.zgh-promises.zgh-k > .kt-row-column-wrap { grid-template-columns: 1fr 1fr; gap: 1rem; padding: 1.1rem; }
	.zgh-promises .zgh-promise > .kt-inside-inner-col { flex-direction: column; gap: .5rem; }
	.zgh-promises div.zgh-promise:not(:first-of-type) { border-left: 0; padding-left: 0; }
	.zgh-promises .zgh-promises__icon .kt-svg-icon-wrap { width: 40px; height: 40px; }
}

/* ---------- Category circles ---------- */
.zgh-circles.zgh-k > .kt-row-column-wrap { display: block; padding: 0; }
.zgh-circles .zgh-circles__list > .kt-inside-inner-col { display: grid; grid-template-columns: repeat(10, 1fr); gap: 1rem; }
.zgh-circles .zgh-circle, .zgh-circles .zgh-circle > .wp-block-group__inner-container { display: flex; flex-direction: column; align-items: center; gap: .65rem; width: 100%; }
.zgh-circles .zgh-circle .zgh-circles__img.wp-block-kadence-icon { line-height: 0; display: grid; place-items: center; width: 100%; max-width: 112px; aspect-ratio: 1; border-radius: 50%; overflow: hidden; background: radial-gradient(circle at 30% 25%, #fff 0%, var(--zgh-blush) 70%); color: var(--zgh-wine); border: 1px solid var(--zgh-blush-d); transition: transform .35s var(--zgh-ease), box-shadow .35s, border-color .35s; box-sizing: border-box; }
@media (max-width: 1024px) { .zgh-circles .zgh-circle .zgh-circles__img.wp-block-kadence-icon { max-width: 84px; } }
.zgh-circles .zgh-circle .zgh-circles__img .kt-svg-icon-wrap, .zgh-circles .zgh-circle .zgh-circles__img a { display: grid; place-items: center; width: 100%; height: 100%; color: inherit; }
.zgh-circles .zgh-circle:hover .zgh-circles__img { transform: translateY(-4px); box-shadow: var(--zgh-shadow); border-color: var(--zgh-gold); }
.zgh-circles .zgh-circles__label { margin: 0 !important; }
.zgh-circles .zgh-circles__label a { color: var(--zgh-onyx); text-decoration: none; }
@media (max-width: 1024px) {
	.zgh-circles .zgh-circles__list > .kt-inside-inner-col { display: flex; flex-direction: row !important; flex-wrap: nowrap; justify-content: flex-start !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: .9rem; padding-bottom: .5rem; scrollbar-width: none; }
	.zgh-circles .zgh-circles__list > .kt-inside-inner-col::-webkit-scrollbar { display: none; }
	.zgh-circles .zgh-circle { flex: 0 0 84px; scroll-snap-align: start; }
	.zgh-circles .zgh-circles__img { max-width: 84px; }
}

/* ---------- Promo pair ----------
   Matches the live original: the theme made the card a block (its grid never applied), so the text
   spans the card and the line-art sits centred on the top edge (half hidden); on phones a 150px art panel. */
.zgh-promo-pair.zgh-k { display: block; }
.zgh-promo-pair.zgh-k > .kt-row-column-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(14px, 2vw, 24px); padding: 0; }
.zgh-promo-pair .zgh-promo { display: block; min-height: 260px; }
.zgh-promo-pair .zgh-promo > .kt-inside-inner-col { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; box-sizing: border-box; padding: clamp(22px, 3vw, 40px); }
.zgh-promo-pair .zgh-promo h3 { font-size: clamp(1.5rem, 2.4vw, 2rem); font-weight: 500; margin: 0 0 .5rem !important; line-height: 1.15; color: inherit; }
.zgh-promo-pair .zgh-promo p { margin: 0 0 1.2rem !important; font-size: .88rem; line-height: 1.6; opacity: .85; }
.zgh-promo-pair .zgh-promo p.zgh-eyebrow { margin: 0 0 .5rem !important; }
.zgh-promo-pair .zgh-promo .zgh-art { position: absolute; top: 0; left: 0; width: 47.5%; height: 0; overflow: visible; background: transparent; z-index: 1; }
.zgh-promo-pair .zgh-promo .zgh-art svg { width: 46%; transition: transform 1.2s var(--zgh-ease); }
.zgh-promo-pair .zgh-promo:hover .zgh-art svg { transform: scale(1.06); }
.zgh-promo--wine .zgh-art { color: var(--zgh-gold-l); }
.zgh-promo--blush .zgh-art { color: var(--zgh-wine); }
.zgh-promo-pair .kb-section-link-overlay { z-index: 3; }
.zgh-promo-pair .zgh-promo .wp-block-kadence-advancedbtn { position: relative; z-index: 4; }
@media (max-width: 900px) { .zgh-promo-pair.zgh-k > .kt-row-column-wrap { grid-template-columns: 1fr; } }
@media (max-width: 480px) {
	.zgh-promo-pair .zgh-promo > .kt-inside-inner-col { padding-top: calc(150px + clamp(22px, 3vw, 40px)); }
	.zgh-promo-pair .zgh-promo .zgh-art { left: 0; width: 100%; height: 150px; overflow: hidden; }
}

/* ---------- Split rows (bestsellers + occasions, budget + midnight) ---------- */
.zgh-ksplit.zgh-k { display: block; }
.zgh-ksplit.zgh-k > .kt-row-column-wrap { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); gap: clamp(20px, 3vw, 40px); align-items: start; padding: 0; }
.zgh-ksplit .zgh-row--in-split { padding-inline: 0; max-width: none; width: 100%; }
@media (max-width: 1100px) { .zgh-ksplit.zgh-k > .kt-row-column-wrap { grid-template-columns: 1fr; } }
/* No products to show (e.g. visitors while products are drafts): side panel goes full width. */
.zgh-ksplit:not(:has(.zgh-split__main .zgh-row)) > .kt-row-column-wrap { grid-template-columns: 1fr; }
.zgh-ksplit .zgh-split__main:not(:has(.zgh-row)) { display: none; }
.editor-styles-wrapper .zgh-ksplit .zgh-split__main:not(:has(.zgh-row)) { display: block; }
.zgh-ksplit .zgh-split__side .zgh-sec-head { margin-bottom: 1.25rem; }
.zgh-occasions-k.zgh-k > .kt-row-column-wrap { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; padding: 0; }
.zgh-occasions-k .zgh-occasion { position: relative; }
.zgh-occasions-k .zgh-occasion > .kt-inside-inner-col { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: .8rem; align-items: center; padding: 1rem; border-radius: var(--zgh-radius); background: var(--zgh-white); border: 1px solid #F0EAE1; color: var(--zgh-onyx); transition: border-color .25s, box-shadow .25s, transform .25s; min-height: 92px; height: 100%; box-sizing: border-box; }
.zgh-occasions-k .zgh-occasion:hover > .kt-inside-inner-col { border-color: var(--zgh-gold); box-shadow: var(--zgh-shadow-sm); transform: translateY(-2px); }
.zgh-occasions-k .zgh-occasion__icon { grid-row: 1 / 3; line-height: 0; }
.zgh-occasions-k .zgh-occasion__icon .kt-svg-icon-wrap { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: var(--zgh-blush); color: var(--zgh-wine); padding: 0; border: 0; }
.zgh-occasions-k .zgh-occasion__icon svg { width: 28px; height: 28px; }
.zgh-occasions-k .zgh-occasion__label { font-family: var(--zgh-serif); font-size: 1.05rem; font-weight: 600; align-self: end; margin: 0 !important; color: var(--zgh-onyx); }
.zgh-occasions-k .zgh-occasion__small { font-size: .74rem; color: var(--zgh-muted); align-self: start; line-height: 1.35; margin: 0 !important; }
@media (max-width: 1100px) { .zgh-occasions-k.zgh-k > .kt-row-column-wrap { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) {
	.zgh-occasions-k.zgh-k > .kt-row-column-wrap { grid-template-columns: repeat(2, 1fr); }
	.zgh-occasions-k .zgh-occasion > .kt-inside-inner-col { grid-template-columns: 1fr; text-align: center; justify-items: center; row-gap: .35rem; }
	.zgh-occasions-k .zgh-occasion__icon { grid-row: auto; }
}
/* solo layout (no bestsellers shown) */
.zgh-ksplit:not(:has(.zgh-split__main .zgh-row)) .zgh-occasions-k.zgh-k > .kt-row-column-wrap { grid-template-columns: repeat(6, 1fr); }
.zgh-ksplit:not(:has(.zgh-split__main .zgh-row)) .zgh-occasion > .kt-inside-inner-col { grid-template-columns: 1fr; text-align: center; justify-items: center; row-gap: .35rem; }
.zgh-ksplit:not(:has(.zgh-split__main .zgh-row)) .zgh-occasion__icon { grid-row: auto; }
@media (max-width: 1100px) { .zgh-ksplit:not(:has(.zgh-split__main .zgh-row)) .zgh-occasions-k.zgh-k > .kt-row-column-wrap { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) { .zgh-ksplit:not(:has(.zgh-split__main .zgh-row)) .zgh-occasions-k.zgh-k > .kt-row-column-wrap { grid-template-columns: repeat(2, 1fr); } }

/* Midnight surprise panel */
.zgh-ksplit .zgh-midnight { display: flex; align-items: flex-end; }
.zgh-ksplit .zgh-midnight::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: radial-gradient(1.5px 1.5px at 20% 30%, rgba(233, 215, 168, .9), transparent), radial-gradient(1px 1px at 70% 20%, rgba(233, 215, 168, .7), transparent), radial-gradient(1.5px 1.5px at 85% 55%, rgba(233, 215, 168, .8), transparent), radial-gradient(1px 1px at 40% 70%, rgba(233, 215, 168, .6), transparent), radial-gradient(1px 1px at 60% 45%, rgba(233, 215, 168, .6), transparent), radial-gradient(1.2px 1.2px at 12% 80%, rgba(233, 215, 168, .7), transparent); animation: zgh-twinkle 5s ease-in-out infinite alternate; }
.zgh-ksplit .zgh-midnight > .kt-inside-inner-col { display: block; padding: clamp(22px, 3vw, 36px); width: 100%; box-sizing: border-box; }
.zgh-ksplit .zgh-midnight__icon { line-height: 0; margin-bottom: 1rem; }
.zgh-ksplit .zgh-midnight__icon .kt-svg-icon-wrap { display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; border: 1px solid rgba(201, 162, 75, .5); color: var(--zgh-gold); padding: 0; background: transparent; }
.zgh-ksplit .zgh-midnight__icon svg { width: 34px; height: 34px; }
.zgh-ksplit .zgh-midnight h3 { margin: 0 0 .6rem !important; }
.zgh-ksplit .zgh-midnight .zgh-midnight__text { margin: 0 0 1.2rem !important; }
.zgh-ksplit:not(:has(.zgh-split__main .zgh-row)).zgh-split--budget .zgh-midnight { margin-top: 0; min-height: 260px; align-items: center; }
.zgh-ksplit:not(:has(.zgh-split__main .zgh-row)).zgh-split--budget .zgh-midnight > .kt-inside-inner-col { display: grid; grid-template-columns: auto 1fr auto; column-gap: 1.6rem; align-items: center; padding: clamp(24px, 4vw, 48px) clamp(24px, 5vw, 64px); }
.zgh-ksplit:not(:has(.zgh-split__main .zgh-row)).zgh-split--budget .zgh-midnight__icon { grid-row: 1 / 4; margin: 0; }
.zgh-ksplit:not(:has(.zgh-split__main .zgh-row)).zgh-split--budget .zgh-midnight__icon .kt-svg-icon-wrap { width: 84px; height: 84px; }
.zgh-ksplit:not(:has(.zgh-split__main .zgh-row)).zgh-split--budget .zgh-midnight__btns { grid-column: 3; grid-row: 1 / 4; }
@media (max-width: 700px) {
	.zgh-ksplit:not(:has(.zgh-split__main .zgh-row)).zgh-split--budget .zgh-midnight > .kt-inside-inner-col { grid-template-columns: 1fr; }
	.zgh-ksplit:not(:has(.zgh-split__main .zgh-row)).zgh-split--budget .zgh-midnight__icon, .zgh-ksplit:not(:has(.zgh-split__main .zgh-row)).zgh-split--budget .zgh-midnight__btns { grid-row: auto; grid-column: auto; }
	.zgh-ksplit:not(:has(.zgh-split__main .zgh-row)).zgh-split--budget .zgh-midnight__icon { margin-bottom: 1rem; }
	.zgh-ksplit:not(:has(.zgh-split__main .zgh-row)).zgh-split--budget .zgh-midnight__icon .kt-svg-icon-wrap { width: 64px; height: 64px; }
}

/* ---------- Editorial banners ---------- */
.zgh-editorial.zgh-k > .kt-row-column-wrap { display: contents; }
.zgh-editorial .zgh-editorial__media, .zgh-editorial .zgh-editorial__content { align-self: stretch; }
.zgh-editorial .zgh-editorial__media.wp-block-kadence-column { min-height: 280px; }
@media (max-width: 800px) { .zgh-editorial .zgh-editorial__media.wp-block-kadence-column { min-height: 220px; } }
.zgh-editorial .zgh-editorial__media { grid-column: 1; grid-row: 1; }
.zgh-editorial .zgh-editorial__content { grid-column: 2; grid-row: 1; }
.zgh-editorial--right .zgh-editorial__media { grid-column: 2; }
.zgh-editorial--right .zgh-editorial__content { grid-column: 1; }
@media (max-width: 800px) { .zgh-editorial .zgh-editorial__media, .zgh-editorial--right .zgh-editorial__media { grid-column: 1; grid-row: 1; } .zgh-editorial .zgh-editorial__content, .zgh-editorial--right .zgh-editorial__content { grid-column: 1; grid-row: 2; } }
.zgh-editorial .zgh-editorial__media > .kt-inside-inner-col { position: absolute; inset: 0; display: block; }
.zgh-editorial .zgh-editorial__content > .kt-inside-inner-col { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; height: 100%; }
.zgh-editorial .zgh-editorial__content h2 { margin: 0 0 1rem !important; }
.zgh-editorial .zgh-editorial__content .zgh-editorial__text { margin: 0 0 1.6rem !important; }
.zgh-editorial--blush .zgh-art { color: var(--zgh-wine); }

/* ---------- Shop by category cards ---------- */
.zgh-catcards.zgh-k > .kt-row-column-wrap { display: block; padding: 0; }
.zgh-k .zgh-sec-head.wp-block-group { margin-bottom: 1.25rem; }
/* As on the live original: the "View all" link here picks up the category-card box style. */
.zgh-catcards .wp-block-kadence-advancedbtn .kb-button.zgh-kbtn--viewall { display: grid; grid-template-columns: 110px 1fr; align-items: center; gap: 1.1rem; padding: 1rem; border-radius: var(--zgh-radius); background: var(--zgh-white); border: 1px solid #F0EAE1; line-height: 1.7; }
.zgh-catcards .wp-block-kadence-advancedbtn .kb-button.zgh-kbtn--viewall:hover { box-shadow: var(--zgh-shadow); border-color: var(--zgh-gold-l); transform: translateY(-2px); }
.zgh-catcards-k .zgh-catcards__media.wp-block-kadence-icon { width: 100%; }
.zgh-catcards-k.zgh-k > .kt-row-column-wrap { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(12px, 1.6vw, 20px); padding: 0; }
.zgh-catcards-k .zgh-catcard { position: relative; }
.zgh-catcards-k .zgh-catcard > .kt-inside-inner-col { display: grid; grid-template-columns: 110px 1fr; align-items: center; gap: 1.1rem; padding: 1rem; border-radius: var(--zgh-radius); background: var(--zgh-white); border: 1px solid #F0EAE1; color: var(--zgh-onyx); transition: box-shadow .3s, border-color .3s, transform .3s; height: 100%; box-sizing: border-box; }
.zgh-catcards-k .zgh-catcard:hover > .kt-inside-inner-col { box-shadow: var(--zgh-shadow); border-color: var(--zgh-gold-l); transform: translateY(-2px); }
.zgh-catcards-k .zgh-catcards__media { aspect-ratio: 1; border-radius: var(--zgh-radius-sm); background: radial-gradient(circle at 30% 25%, #fff 0%, var(--zgh-blush) 75%); display: grid; place-items: center; color: var(--zgh-wine); overflow: hidden; line-height: 0; }
.zgh-catcards-k .zgh-catcards__media svg { width: 44px; height: 44px; }
.zgh-catcards-k .zgh-catcards__media > .wp-block-kadence-single-icon.kt-svg-icon-wrap { justify-self: stretch; align-self: stretch; }
.zgh-catcards-k .zgh-catcards__media .kt-svg-icon-wrap, .zgh-catcards-k .zgh-catcards__media .kb-svg-icon-wrap { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; }
.zgh-catcards-k .zgh-catcards__body p.wp-block-kadence-advancedheading.zgh-catcards__go { margin-top: .2rem !important; }
/* Kadence rows carry pseudo-elements that become stray grid items in these grid sections. */
.zgh-concierge.zgh-k::before, .zgh-concierge.zgh-k::after, .zgh-news.zgh-k::before, .zgh-news.zgh-k::after, .zgh-editorial.zgh-k::before, .zgh-editorial.zgh-k::after, .zgh-khero .zgh-hero__slide::before, .zgh-khero .zgh-hero__slide::after { content: none; display: none; }
.zgh-catcards-k .zgh-catcards__body, .zgh-catcards-k .zgh-catcards__body > .wp-block-group__inner-container { display: flex; flex-direction: column; gap: .3rem; }
.zgh-catcards-k .zgh-catcards__body .wp-block-kadence-advancedheading { margin: 0 !important; }
.zgh-catcards-k .zgh-catcards__title { font-family: var(--zgh-serif); font-size: 1.12rem; font-weight: 600; line-height: 1.7; color: var(--zgh-onyx); }
.zgh-catcards-k .zgh-catcards__desc { color: var(--zgh-muted); font-size: .8rem; line-height: 1.5; }
.zgh-catcards-k .zgh-catcards__go { display: inline-flex; align-items: center; gap: .3rem; font-size: .76rem; font-weight: 600; line-height: 1.7; color: var(--zgh-gold-d); margin-top: .2rem !important; }
.zgh-catcards-k .zgh-catcards__go svg { width: 14px; height: 14px; }
.zgh-catcards-k .zgh-catcards__go .kb-adv-heading-icon { padding: 0; margin: 0; display: inline-flex; }
@media (max-width: 1024px) { .zgh-catcards-k.zgh-k > .kt-row-column-wrap { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .zgh-catcards-k.zgh-k > .kt-row-column-wrap { grid-template-columns: 1fr; } .zgh-catcards-k .zgh-catcard > .kt-inside-inner-col { grid-template-columns: 84px 1fr; } }

/* ---------- Gift concierge ---------- */
.zgh-concierge.zgh-k > .kt-row-column-wrap { display: contents; }
.zgh-concierge.zgh-k { row-gap: 0; }
@media (max-width: 800px) { .zgh-concierge.zgh-k { row-gap: clamp(20px, 4vw, 56px); } }
.zgh-concierge .zgh-concierge__media { grid-column: 1; grid-row: 1; }
.zgh-concierge .zgh-concierge__content { grid-column: 2; grid-row: 1; }
@media (max-width: 800px) { .zgh-concierge .zgh-concierge__media { grid-column: 1; grid-row: 1; } .zgh-concierge .zgh-concierge__content { grid-column: 1; grid-row: 2; } }
.zgh-concierge .zgh-concierge__media > .kt-inside-inner-col { display: grid; place-items: center; width: 100%; height: 100%; }
.zgh-concierge .zgh-concierge__art { line-height: 0; }
.zgh-concierge .zgh-concierge__art svg { width: 64px; height: 64px; }
.zgh-concierge .zgh-concierge__content > .kt-inside-inner-col { display: block; }
.zgh-concierge .zgh-concierge__ctas.wp-block-kadence-advancedbtn { display: flex; flex-wrap: wrap; gap: .75rem; }
.zgh-concierge .zgh-concierge__hours ul.kt-svg-icon-list { margin: 1rem 0 0; padding: 0; list-style: none; font-size: .8rem; color: var(--zgh-muted); }
.zgh-concierge .zgh-concierge__hours li { display: flex; align-items: center; gap: .35rem; margin: 0; }
.zgh-concierge .zgh-concierge__hours .kt-svg-icon-list-single { margin: 0 !important; }
.zgh-concierge .zgh-concierge__hours svg { width: 14px !important; height: 14px !important; font-size: 14px !important; }

/* ---------- Newsletter ---------- */
.zgh-news.zgh-k > .kt-row-column-wrap { display: contents; }
.zgh-news .zgh-news__content { grid-column: 1; grid-row: 1; }
.zgh-news .zgh-news__media { grid-column: 2; grid-row: 1; }
.zgh-news .zgh-news__media.wp-block-kadence-column { min-height: 240px; height: 100%; align-self: stretch; }
@media (max-width: 800px) { .zgh-news .zgh-news__media.wp-block-kadence-column { min-height: 120px; } }
@media (max-width: 800px) { .zgh-news .zgh-news__media { grid-column: 1; grid-row: 1; } .zgh-news .zgh-news__content { grid-column: 1; grid-row: 2; } }
.zgh-news .zgh-news__content > .kt-inside-inner-col { display: block; }
.zgh-news .zgh-news__media > .kt-inside-inner-col { display: grid; place-items: center; width: 100%; height: 100%; min-height: inherit; }
.zgh-news .zgh-news__art { line-height: 0; }
.zgh-news .zgh-news__art svg { width: 72px; height: 72px; }
.zgh-news .zgh-news__script { margin: 0 !important; color: var(--zgh-wine); max-width: none; line-height: 1.2; }

/* ==========================================================================
   FOOTER (Kadence Element "Site footer (Zain)" → Replace footer)
   ========================================================================== */
.zgh-kfooter.zgh-k { background: var(--zgh-onyx); color: rgba(250, 247, 242, .78); font-size: .86rem; width: 100%; max-width: none; margin: 0; }
.zgh-kfooter.zgh-k > .kt-row-column-wrap { display: block; max-width: var(--global-content-width, 1290px); margin: 0 auto; padding: clamp(36px, 5vw, 64px) var(--global-content-edge-padding, 24px) 24px; box-sizing: border-box; }
.zgh-kfooter .zgh-kfooter__in > .kt-inside-inner-col { display: block; }
.zgh-kfooter a { color: rgba(250, 247, 242, .78); text-decoration: none; transition: color .2s; }
.zgh-kfooter a:hover { color: var(--zgh-gold); }
.zgh-kfooter p { margin: 0; }
/* trust row */
.zgh-trust-k--footer.zgh-k { max-width: none; padding-inline: 0; margin: 0 0 clamp(32px, 4vw, 52px); }
.zgh-trust-k--footer.zgh-k.kb-row-layout-wrap > .kt-row-column-wrap { border: 1px solid rgba(201, 162, 75, .25); border-radius: var(--zgh-radius-lg); padding: 1.25rem 1.5rem; }
.zgh-trust-k--footer .zgh-trust__item__icon .kt-svg-icon-wrap { border: 1px solid rgba(201, 162, 75, .4); color: var(--zgh-gold); width: 46px; height: 46px; }
.zgh-trust-k--footer .zgh-trust__item__title { color: var(--zgh-ivory); }
.zgh-trust-k--footer .zgh-trust__item__sub { color: rgba(250, 247, 242, .6); }
/* columns */
.zgh-kfooter__grid.zgh-k.kb-row-layout-wrap > .kt-row-column-wrap { display: grid; grid-template-columns: 1.5fr repeat(4, 1fr) 1.3fr; gap: clamp(20px, 3vw, 40px); padding: 0; }
.zgh-kfooter .zgh-kfooter__grid .wp-block-kadence-column > .kt-inside-inner-col { display: block; }
.zgh-kfooter .zgh-kfooter__logo { display: inline-block; background: var(--zgh-ivory); border-radius: var(--zgh-radius); padding: 10px 14px; margin: 0; line-height: 0; }
.zgh-kfooter .zgh-kfooter__logo img { max-width: 170px; height: auto; display: block; }
.zgh-kfooter .zgh-kfooter__about { line-height: 1.7; margin: 1rem 0 1.2rem !important; max-width: 300px; }
.zgh-kfooter .zgh-kfooter__social { display: flex; gap: .6rem; justify-content: flex-start; }
.zgh-kfooter .zgh-kfooter__social .kt-svg-icon-wrap { margin: 0; }
.zgh-kfooter .zgh-kfooter__social a { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(201, 162, 75, .4); color: var(--zgh-gold) !important; transition: background .2s, color .2s; box-sizing: border-box; }
.zgh-kfooter .zgh-kfooter__social a:hover { background: var(--zgh-gold); color: var(--zgh-onyx) !important; }
.zgh-kfooter .zgh-kfooter__social svg { width: 18px; height: 18px; }
.zgh-kfooter .zgh-kfooter__title { font-family: var(--zgh-serif); color: var(--zgh-ivory); font-size: 1.05rem; margin: 0 0 1rem !important; display: flex; justify-content: space-between; align-items: center; }
.zgh-kfooter ul.zgh-kfooter__links, .zgh-kfooter .zgh-kfooter__contactlist ul.kt-svg-icon-list { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; gap: .6rem !important; row-gap: .6rem !important; }
.zgh-kfooter ul.zgh-kfooter__links li { margin: 0; }
/* As on the original footer (Kadence footer HTML item centres its text). */
.zgh-kfooter .zgh-kfooter__grid ul.zgh-kfooter__links { text-align: center; }
.zgh-kfooter .zgh-kfooter__contactlist li.kt-svg-icon-list-item-wrap { display: flex; justify-content: center; align-items: center; gap: .5rem; line-height: 1.7; margin: 0; }
.zgh-kfooter .zgh-kfooter__contactlist .kt-svg-icon-list-single { margin: 1px 0 0 !important; color: var(--zgh-gold); }
.zgh-kfooter .zgh-kfooter__contactlist svg { width: 16px !important; height: 16px !important; font-size: 16px !important; }
/* payments + bottom bar */
.zgh-kfooter .zgh-kfooter__pay > .wp-block-group__inner-container, .zgh-kfooter .zgh-kfooter__pay.wp-block-group { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; }
.zgh-kfooter .zgh-kfooter__pay.wp-block-group { margin-top: clamp(28px, 4vw, 44px); padding-top: 1.4rem; border-top: 1px solid rgba(250, 247, 242, .1); }
.zgh-kfooter .zgh-kfooter__paylabel { font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; color: var(--zgh-gold); }
.zgh-kfooter ul.zgh-kfooter__chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.zgh-kfooter ul.zgh-kfooter__chips li { padding: .4rem .8rem; border: 1px solid rgba(250, 247, 242, .18); border-radius: 6px; font-size: .75rem; font-weight: 600; color: var(--zgh-ivory); margin: 0; line-height: 1.7; }
.zgh-kfooter .zgh-kfooter__bottom > .wp-block-group__inner-container, .zgh-kfooter .zgh-kfooter__bottom.wp-block-group { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: .75rem 1.5rem; width: 100%; }
.zgh-kfooter .zgh-kfooter__bottom.wp-block-group { margin-top: 1.4rem; padding-top: 1.2rem; border-top: 1px solid rgba(250, 247, 242, .1); font-size: .78rem; }
.zgh-kfooter .zgh-kfooter__bottom ul.zgh-kfooter__links { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem !important; row-gap: .4rem !important; }
@media (max-width: 1100px) { .zgh-kfooter__grid.zgh-k.kb-row-layout-wrap > .kt-row-column-wrap { grid-template-columns: repeat(3, 1fr); } .zgh-kfooter .zgh-kfooter__brand { grid-column: 1 / -1; } }
@media (max-width: 700px) {
	.zgh-kfooter__grid.zgh-k.kb-row-layout-wrap > .kt-row-column-wrap { grid-template-columns: 1fr; gap: 0; }
	.zgh-kfooter .zgh-kfooter__brand { margin-bottom: 1.5rem; }
	.zgh-kfooter .zgh-kfooter__col { border-bottom: 1px solid rgba(250, 247, 242, .1); }
	.zgh-kfooter .zgh-kfooter__col:not(.zgh-kfooter__contact) .zgh-kfooter__title { padding: 1rem 0; margin: 0 !important; cursor: pointer; }
	.zgh-kfooter .zgh-kfooter__col:not(.zgh-kfooter__contact) .zgh-kfooter__title::after { content: ""; width: 16px; height: 16px; background: var(--zgh-gold); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6.5 9.5 5.5 5.5 5.5-5.5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6.5 9.5 5.5 5.5 5.5-5.5'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .25s; }
	.zgh-kfooter .zgh-kfooter__col.is-open .zgh-kfooter__title::after { transform: rotate(180deg); }
	.zgh-kfooter .zgh-kfooter__col:not(.zgh-kfooter__contact):not(.is-open) ul.zgh-kfooter__links { display: none; }
	.zgh-kfooter .zgh-kfooter__col ul.zgh-kfooter__links, .zgh-kfooter .zgh-kfooter__contactlist ul.kt-svg-icon-list { padding-bottom: 1rem !important; }
	.zgh-kfooter .zgh-kfooter__contact { padding-top: 1.25rem; border: 0; }
	.editor-styles-wrapper .zgh-kfooter .zgh-kfooter__col:not(.is-open) ul.zgh-kfooter__links { display: grid; }
}

/* ==========================================================================
   MEGA MENU editorial cards (Kadence Elements)
   ========================================================================== */
.zgh-menu-card-k.zgh-k > .kt-row-column-wrap { display: block; padding: 0; }
.zgh-menu-card-k .zgh-menu-card.wp-block-kadence-column { display: block; position: relative; border-radius: var(--zgh-radius); overflow: hidden; min-height: 220px; padding: 0; background: radial-gradient(120% 90% at 80% 10%, #3a2a1c 0%, var(--zgh-onyx) 60%); color: var(--zgh-ivory); }
.zgh-menu-card-k .zgh-menu-card > .kt-inside-inner-col { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: .4rem; min-height: 220px; padding: 1.4rem; box-sizing: border-box; }
.zgh-menu-card-k .zgh-menu-card__icon { position: absolute; right: 1rem; top: 1rem; color: var(--zgh-gold); opacity: .6; line-height: 0; }
.zgh-menu-card-k .zgh-menu-card__icon svg { width: 48px; height: 48px; }
.zgh-menu-card-k .zgh-eyebrow { color: var(--zgh-gold); margin: 0 !important; font-size: .62rem; }
.zgh-menu-card-k .zgh-menu-card__title { font-family: var(--zgh-serif); font-size: 1.4rem; font-weight: 500; color: var(--zgh-white); margin: 0 !important; }
.zgh-menu-card-k .zgh-menu-card__go { color: var(--zgh-gold); font-size: .8rem; font-weight: 600; display: inline-flex; gap: .3rem; align-items: center; margin: 0 !important; }
.zgh-menu-card-k .zgh-menu-card__go svg { width: 14px; height: 14px; }
.zgh-menu-card-k .zgh-menu-card__go .kb-adv-heading-icon { padding: 0; margin: 0; display: inline-flex; }

/* ==========================================================================
   PHOTOS: add an Image block (Kadence or core) into any of these areas and the
   gold line-art placeholder hides automatically; the photo fills the space.
   ========================================================================== */
.zgh-k :is(figure.wp-block-kadence-image, figure.wp-block-image) { margin: 0; }
/* Hero slides — image goes in the left "media" column of a slide */
.zgh-khero .zgh-hero__media:has(img) .zgh-art { display: none; }
.zgh-khero .zgh-hero__media figure { position: absolute; inset: 0; width: 100%; height: 100%; }
.zgh-khero .zgh-hero__media img { width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; }
/* Editorial banners */
.zgh-editorial__media:has(img) .zgh-art { display: none; }
.zgh-editorial__media figure { position: absolute; inset: 0; }
.zgh-editorial__media img { width: 100% !important; height: 100% !important; object-fit: cover; }
/* Promo banners — photo on the right half (on phones: the 150px panel on top) */
.zgh-promo-pair .zgh-promo:has(img) .zgh-art { display: none; }
.zgh-promo-pair .zgh-promo figure { position: absolute; top: 0; right: 0; bottom: 0; width: 47.5%; z-index: -1; overflow: hidden; }
.zgh-promo-pair .zgh-promo:has(img) > .kt-inside-inner-col { padding-right: calc(47.5% + clamp(22px, 3vw, 40px)); }
.zgh-promo-pair .zgh-promo figure img { width: 100% !important; height: 100% !important; object-fit: cover; transition: transform 1.2s var(--zgh-ease); }
.zgh-promo-pair .zgh-promo:hover figure img { transform: scale(1.06); }
@media (max-width: 480px) { .zgh-promo-pair .zgh-promo figure { left: 0; width: 100%; bottom: auto; height: 150px; } .zgh-promo-pair .zgh-promo:has(img) > .kt-inside-inner-col { padding-right: clamp(22px, 3vw, 40px); } }
/* Midnight banner */
.zgh-midnight:has(img) .zgh-midnight__icon { display: none; }
.zgh-midnight figure { position: absolute; inset: 0; z-index: -1; }
.zgh-midnight figure img { width: 100% !important; height: 100% !important; object-fit: cover; opacity: .45; }
/* Concierge circle */
.zgh-concierge__media:has(img) .zgh-concierge__art { display: none; }
.zgh-concierge__media figure { width: 100%; height: 100%; }
.zgh-concierge__media img { width: 100% !important; height: 100% !important; object-fit: cover; }
/* Newsletter */
.zgh-news__media:has(img) .zgh-news__art { display: none; }
.zgh-news__media figure { position: absolute; inset: 0; }
.zgh-news__media img { width: 100% !important; height: 100% !important; object-fit: cover; }
/* Category circles — add an Image block inside a circle's group */
.zgh-circles .zgh-circle:has(img) .zgh-circles__img.wp-block-kadence-icon { display: none; }
.zgh-circles .zgh-circle figure { width: 100%; max-width: 112px; aspect-ratio: 1; border-radius: 50%; overflow: hidden; border: 1px solid var(--zgh-blush-d); transition: transform .35s var(--zgh-ease), box-shadow .35s, border-color .35s; }
.zgh-circles .zgh-circle:hover figure { transform: translateY(-4px); box-shadow: var(--zgh-shadow); border-color: var(--zgh-gold); }
.zgh-circles .zgh-circle figure img { width: 100% !important; height: 100% !important; object-fit: cover; }
@media (max-width: 1024px) { .zgh-circles .zgh-circle figure { max-width: 84px; } }
/* Category cards */
.zgh-catcards-k .zgh-catcard:has(img) .zgh-catcards__media { display: none; }
.zgh-catcards-k .zgh-catcard figure { aspect-ratio: 1; border-radius: var(--zgh-radius-sm); overflow: hidden; }
.zgh-catcards-k .zgh-catcard figure img { width: 100% !important; height: 100% !important; object-fit: cover; }
/* Mega menu cards */
.zgh-menu-card-k .zgh-menu-card:has(img) .zgh-menu-card__icon { display: none; }
.zgh-menu-card-k .zgh-menu-card figure { position: absolute; inset: 0; z-index: 0; }
.zgh-menu-card-k .zgh-menu-card figure img { width: 100% !important; height: 100% !important; object-fit: cover; opacity: .65; transition: transform .8s var(--zgh-ease); }
.zgh-menu-card-k .zgh-menu-card:hover figure img { transform: scale(1.06); }
.zgh-menu-card-k .zgh-menu-card > .kt-inside-inner-col > :not(figure) { position: relative; z-index: 1; }

/* ==========================================================================
   SHOP & CATEGORY PAGES — filters sidebar, toolbar, chips, cards, badges
   ========================================================================== */
/* Badges (everywhere): SALE · −X% · NEW · BESTSELLER, side by side, top-left */
.zgh-badges { flex-direction: row; flex-wrap: wrap; gap: 6px; top: 12px; left: 12px; right: 60px; }
.zgh-badge { padding: 5px 9px; font-size: .62rem; font-weight: 700; letter-spacing: .14em; line-height: 1; border-radius: 999px; }
.zgh-badge--sale { background: var(--zgh-wine); color: var(--zgh-ivory); }
.zgh-badge--off { background: var(--zgh-onyx); color: var(--zgh-white); letter-spacing: .06em; }
.zgh-badge--new { background: var(--zgh-onyx); color: var(--zgh-white); }
.zgh-badge--best { background: var(--zgh-gold); color: var(--zgh-onyx); }
.woocommerce span.onsale { display: none !important; }
/* Product page badges sit on the gallery */
.single-product div.product { position: relative; }
.single-product .woocommerce-product-gallery { position: relative; }
.zgh-badges--pdp { position: absolute; top: 16px; left: 16px; right: auto; z-index: 9; }

/* Card hover: image zoom, second photo fades in, Quick view + Add to cart slide up */
.zgh-card__actions { position: absolute; left: 10px; right: 10px; bottom: 10px; z-index: 3; display: flex; gap: 8px; opacity: 0; transform: translateY(calc(100% + 14px)); transition: opacity .3s var(--zgh-ease), transform .35s var(--zgh-ease); }
.zgh-card:hover .zgh-card__actions, .zgh-card:focus-within .zgh-card__actions { opacity: 1; transform: none; }
.zgh-card__actions .zgh-qv-btn { position: static; transform: none; opacity: 1; left: auto; bottom: auto; flex: 1 1 0; justify-content: center; min-height: 40px; padding: 0 .7rem; background: rgba(255, 255, 255, .95); color: var(--zgh-onyx); box-shadow: var(--zgh-shadow-sm); }
.zgh-card__actions .zgh-qv-btn:hover { background: var(--zgh-white); color: var(--zgh-wine); }
.zgh-card__cta { flex: 1 1 0; display: inline-flex; align-items: center; justify-content: center; gap: .35rem; min-height: 40px; padding: 0 .7rem; border-radius: 999px; background: var(--zgh-onyx); color: var(--zgh-ivory) !important; font-size: .75rem; font-weight: 600; text-decoration: none; white-space: nowrap; box-shadow: var(--zgh-shadow-sm); transition: background .2s, color .2s; }
.zgh-card__cta:hover { background: var(--zgh-gold); color: var(--zgh-onyx) !important; }
.zgh-card__cta.loading { opacity: .6; }
.zgh-card__cta.added::after { content: " ✓"; }
@container (max-width: 230px) { .zgh-card__actions { flex-direction: column; } }
@media (hover: hover) { .zgh-card__foot .zgh-card__btn { display: none; } }
@media (hover: none) { .zgh-card__actions { display: none; } }

/* Layout + sticky sidebar */
.zgh-shop-archive .content-area ul.products { column-gap: 32px; row-gap: 40px; }
@media (max-width: 767px) { .zgh-shop-archive .content-area ul.products { column-gap: 14px; row-gap: 28px; } }
@media (min-width: 1025px) {
	.zgh-shop-archive #secondary .sidebar-inner-wrap { position: sticky; top: 110px; max-height: calc(100vh - 130px); overflow-y: auto; padding-right: 14px; scrollbar-width: thin; }
}
.woocommerce .primary-sidebar .widget.widget_zgh_filters { background: none; border: 0; border-radius: 0; padding: 0; margin: 0; }

/* Filter panel */
.zgh-filters { font-family: var(--zgh-sans); color: var(--zgh-text); }
.zgh-filters__top { display: none; }
.zgh-fsec { border-bottom: 1px solid var(--zgh-line); padding: 20px 0; }
.zgh-fsec:first-of-type { padding-top: 6px; }
.zgh-fsec__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; list-style: none; cursor: pointer; font-size: .74rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--zgh-onyx); }
.zgh-fsec__head::-webkit-details-marker { display: none; }
.zgh-fsec__head .zgh-icon { color: var(--zgh-muted); transition: transform .25s; }
.zgh-fsec[open] .zgh-fsec__head .zgh-icon { transform: rotate(180deg); }
.zgh-flist { list-style: none; margin: 14px 0 0 !important; padding: 0 !important; }
.woocommerce .primary-sidebar .zgh-flist li { padding: 0; margin: 0; font-size: inherit; }
.zgh-fopt { display: flex; align-items: center; gap: 10px; padding: 7px 0; font-size: .92rem; line-height: 1.4; color: var(--zgh-text) !important; text-decoration: none; }
.zgh-fopt:hover { color: var(--zgh-wine) !important; }
.zgh-fopt.is-active { color: var(--zgh-wine) !important; font-weight: 600; }
.zgh-fopt__count { margin-left: auto; font-size: .8rem; color: var(--zgh-muted); font-weight: 400; }
.zgh-fopt__mark { display: none; flex: 0 0 auto; width: 16px; height: 16px; border: 1.5px solid #B9B0A5; background: var(--zgh-white); box-sizing: border-box; transition: border-color .2s, background .2s; position: relative; }
.zgh-fopt--radio .zgh-fopt__mark { display: block; border-radius: 50%; }
.zgh-fopt--radio.is-active .zgh-fopt__mark { border-color: var(--zgh-wine); background: var(--zgh-wine); box-shadow: inset 0 0 0 3px var(--zgh-white); }
.zgh-fopt--radio.is-active { font-weight: 400; color: var(--zgh-text) !important; }
.zgh-fopt--check .zgh-fopt__mark { display: block; border-radius: 3px; }
.zgh-fopt--check.is-active .zgh-fopt__mark { border-color: var(--zgh-wine); background: var(--zgh-wine); }
.zgh-fopt--check.is-active .zgh-fopt__mark::after { content: ""; position: absolute; left: 4px; top: 1px; width: 4px; height: 8px; border: solid var(--zgh-white); border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }
.zgh-fopt--check.is-active { font-weight: 400; color: var(--zgh-text) !important; }
.zgh-flist__child .zgh-fopt { padding-left: 16px; font-size: .86rem; }
/* Price */
.zgh-fprice { margin-top: 12px; }
.zgh-fprice__row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 8px; }
.zgh-fprice label span { display: block; font-size: .74rem; color: var(--zgh-muted); margin-bottom: 6px; }
.zgh-fprice input[type="number"] { width: 100%; height: 40px; box-sizing: border-box; border: 1px solid #D9D2C7 !important; border-radius: 2px !important; background: var(--zgh-white) !important; padding: 0 12px !important; font-size: .92rem; font-family: var(--zgh-sans); box-shadow: none !important; -moz-appearance: textfield; }
.zgh-fprice input::-webkit-outer-spin-button, .zgh-fprice input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.zgh-fprice input::placeholder { color: #A8A099; }
.zgh-fprice__dash { color: var(--zgh-muted); padding-bottom: 10px; }
.zgh-fprice__btn { display: block; width: 100%; margin-top: 16px; min-height: 36px; padding: 0 1rem; border: 1px solid var(--zgh-onyx) !important; border-radius: 2px !important; background: transparent !important; color: var(--zgh-onyx) !important; font-family: var(--zgh-sans); font-size: .74rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; cursor: pointer; box-shadow: none !important; transition: background .2s, color .2s; }
.zgh-fprice__btn:hover { background: var(--zgh-onyx) !important; color: var(--zgh-ivory) !important; }
.zgh-fprice__note { margin: 12px 0 0 !important; font-size: .78rem; color: var(--zgh-muted); }

/* Toolbar */
.zgh-shopbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 20px; margin-bottom: 24px; border-bottom: 1px solid var(--zgh-line); }
.zgh-shopbar__count { margin: 0 !important; font-size: .95rem; color: var(--zgh-muted); }
.zgh-shopbar__count strong { color: var(--zgh-onyx); font-weight: 600; }
.zgh-shopbar__right { display: flex; align-items: center; gap: 12px; }
.zgh-sort { display: flex; align-items: center; gap: 10px; margin: 0; }
.zgh-sort label { font-size: .82rem; color: var(--zgh-muted); white-space: nowrap; }
.zgh-sort select { height: 40px; min-width: 165px; padding: 0 36px 0 12px !important; border: 1px solid #D9D2C7 !important; border-radius: 2px !important; background: var(--zgh-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B2B2B' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='m6.5 9.5 5.5 5.5 5.5-5.5'/%3E%3C/svg%3E") no-repeat right 12px center / 14px !important; -webkit-appearance: none; appearance: none; font-size: .92rem; font-family: var(--zgh-sans); color: var(--zgh-onyx); box-shadow: none !important; cursor: pointer; }
.zgh-viewtoggle { display: inline-flex; border: 1px solid #D9D2C7; border-radius: 2px; overflow: hidden; }
.zgh-viewtoggle button { width: 40px; height: 40px; display: grid; place-items: center; padding: 0; border: 0 !important; border-radius: 0 !important; background: var(--zgh-white) !important; color: var(--zgh-onyx) !important; cursor: pointer; box-shadow: none !important; min-height: 0; }
.zgh-viewtoggle button + button { border-left: 1px solid #D9D2C7 !important; }
.zgh-viewtoggle button.is-active { background: var(--zgh-onyx) !important; color: var(--zgh-white) !important; }
.zgh-shop-archive .kadence-shop-top-row { display: none !important; }
.zgh-shopbar .zgh-filter-btn { margin: 0; }
/* Active chips */
.zgh-chips-active { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -8px 0 22px; }
.zgh-fchip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border: 1px solid var(--zgh-line); border-radius: 999px; background: var(--zgh-white); color: var(--zgh-onyx) !important; font-size: .8rem; text-decoration: none; transition: border-color .2s, color .2s; }
.zgh-fchip:hover { border-color: var(--zgh-wine); color: var(--zgh-wine) !important; }
.zgh-fclear { font-size: .8rem; font-weight: 600; color: var(--zgh-wine) !important; text-decoration: underline; text-underline-offset: 3px; margin-left: 4px; }
/* Loading */
#main.zgh-is-loading ul.products, #main.zgh-is-loading .zgh-shopbar__count { opacity: .45; pointer-events: none; transition: opacity .2s; }
.zgh-shop-empty { padding-block: 48px; }

/* Shop cards (as in the design): no box, rounded 4:5 image, serif title */
.zgh-shop-archive ul.products li.zgh-card { background: transparent; border: 0; border-radius: 0; overflow: visible; box-shadow: none !important; transform: none !important; }
.zgh-shop-archive ul.products .zgh-card__media { aspect-ratio: 4 / 5; border-radius: 6px; }
.zgh-shop-archive ul.products .zgh-card__body { padding: 1rem 0 0; gap: .35rem; }
.zgh-shop-archive ul.products .zgh-card__title { font-family: var(--zgh-serif) !important; font-size: 1.25rem !important; font-weight: 500 !important; line-height: 1.25 !important; }
.zgh-shop-archive ul.products .zgh-card__price { margin-top: .15rem; }
@media (max-width: 480px) { .zgh-shop-archive ul.products .zgh-card__title { font-size: 1.02rem !important; } }
/* Placeholder tones until photos are added (blush / wine / onyx + Z mark) */
.zgh-shop-archive .zgh-card--tone-0 .zgh-card__media { background: linear-gradient(160deg, #F7E7E3 0%, #E3BCB2 100%); }
.zgh-shop-archive .zgh-card--tone-1 .zgh-card__media { background: radial-gradient(120% 90% at 25% 15%, #A3455C 0%, #6E1A2E 55%, #4E1222 100%); }
.zgh-shop-archive .zgh-card--tone-2 .zgh-card__media { background: radial-gradient(120% 90% at 25% 15%, #6A6663 0%, #2A2726 50%, #121010 100%); }
.zgh-shop-archive [class*="zgh-card--tone-"] .zgh-card__img1.is-placeholder { opacity: 0; }
.zgh-shop-archive [class*="zgh-card--tone-"] .zgh-card__img::after { content: ""; position: absolute; left: 50%; top: 50%; width: 56%; aspect-ratio: 1; transform: translate(-50%, -50%); background: center / contain no-repeat; pointer-events: none; transition: transform 1.2s var(--zgh-ease); }
.zgh-shop-archive [class*="zgh-card--tone-"]:hover .zgh-card__img::after { transform: translate(-50%, -50%) scale(1.06); }
.zgh-shop-archive .zgh-card--tone-0 .zgh-card__img::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%237A1F33' stroke-opacity='.28'%3E%3Ccircle cx='50' cy='50' r='44' stroke-width='.4'/%3E%3Cpath d='M50 3v4M50 93v4M3 50h4M93 50h4' stroke-width='.4'/%3E%3Cpath d='M38 37h24L38 63h24' stroke-width='.7'/%3E%3C/svg%3E"); }
.zgh-shop-archive .zgh-card--tone-1 .zgh-card__img::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23FAF7F2' stroke-opacity='.3'%3E%3Ccircle cx='50' cy='50' r='44' stroke-width='.4'/%3E%3Cpath d='M50 3v4M50 93v4M3 50h4M93 50h4' stroke-width='.4'/%3E%3Cpath d='M38 37h24L38 63h24' stroke-width='.7'/%3E%3C/svg%3E"); }
.zgh-shop-archive .zgh-card--tone-2 .zgh-card__img::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23C9A24B' stroke-opacity='.4'%3E%3Ccircle cx='50' cy='50' r='44' stroke-width='.4'/%3E%3Cpath d='M50 3v4M50 93v4M3 50h4M93 50h4' stroke-width='.4'/%3E%3Cpath d='M38 37h24L38 63h24' stroke-width='.7'/%3E%3C/svg%3E"); }

/* List view */
.zgh-view-list.zgh-shop-archive .content-area ul.products { grid-template-columns: 1fr !important; row-gap: 28px; }
.zgh-view-list.zgh-shop-archive ul.products li.zgh-card { display: grid; grid-template-columns: 260px 1fr; gap: 28px; align-items: center; }
.zgh-view-list.zgh-shop-archive ul.products .zgh-card__body { padding: 0; }
.zgh-view-list.zgh-shop-archive ul.products .zgh-card__foot .zgh-card__btn { display: inline-flex; margin-left: 0; }
@media (max-width: 600px) { .zgh-view-list.zgh-shop-archive ul.products li.zgh-card { grid-template-columns: 130px 1fr; gap: 14px; } }

/* Mobile: Filters button + slide-out drawer */
@media (max-width: 1024px) {
	.woocommerce #secondary.primary-sidebar.is-open, .woocommerce aside.primary-sidebar.is-open { transform: none; }
	.zgh-shopbar { flex-wrap: wrap; }
	.zgh-shopbar__right { flex: 1 1 auto; justify-content: flex-end; flex-wrap: wrap; }
	.zgh-shopbar__right .zgh-filter-btn { margin-right: auto; }
	.zgh-filters__top { display: block; padding: 0 0 10px; border-bottom: 1px solid var(--zgh-line); }
	.zgh-filters__title { margin: 0 !important; font-family: var(--zgh-serif); font-size: 1.35rem; color: var(--zgh-onyx); }
}
@media (max-width: 600px) {
	.zgh-shopbar__count { order: 0; }
	.zgh-shopbar__right { order: 1; flex-basis: 100%; gap: 8px; flex-wrap: nowrap; }
	.zgh-shopbar__right .zgh-filter-btn { margin: 0; flex: 0 0 auto; }
	.zgh-sort { flex: 1 1 auto; min-width: 0; }
	.zgh-sort label { display: none; }
	.zgh-sort select { min-width: 0; width: 100%; }
	.zgh-viewtoggle { flex: 0 0 auto; }
}

/* Product page gallery: magnifier zoom, lightbox, thumbnails underneath */
.single-product .woocommerce-product-gallery__image a { cursor: zoom-in; display: block; }
.single-product .woocommerce-product-gallery__trigger { position: absolute; top: 14px; right: 14px; z-index: 9; width: 40px; height: 40px; border-radius: 50%; background: rgba(255, 255, 255, .92); box-shadow: var(--zgh-shadow-sm); display: grid; place-items: center; text-indent: -9999px; overflow: hidden; }
.single-product .woocommerce-product-gallery__trigger::before { content: ""; position: absolute; inset: 0; background: center / 18px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E0E0E' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m20 20-4.2-4.2M11 8v6M8 11h6'/%3E%3C/svg%3E"); text-indent: 0; }
.single-product .woocommerce-product-gallery .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin: 10px 0 0 !important; padding: 0 10px 10px !important; list-style: none; }
.single-product .woocommerce-product-gallery .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; }
.single-product .woocommerce-product-gallery .flex-control-thumbs img { border-radius: 6px; opacity: .55; cursor: pointer; transition: opacity .2s; aspect-ratio: 1; object-fit: cover; }
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active, .single-product .woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 1; }
.single-product .woocommerce-product-gallery .zoomImg { cursor: crosshair; }
