/* Atelier frontend pass. Brand values remain in theme.json. */
.ropa-nav-mobile { display: none !important; }
/* Customer journey polish: quiet surfaces and explicit interaction states. */
.woocommerce-product-gallery { isolation: isolate; }
/* Woo's negative close-button margin otherwise extends beyond narrow drawers. */
.wc-block-mini-cart__drawer .wc-block-components-drawer__close { margin: 0; }
/* One transition owns each property. Avoid competing entrance keyframes. */
.wc-block-components-drawer__screen-overlay--with-slide-in:has(> .wc-block-mini-cart__drawer),
.wc-block-components-drawer__screen-overlay--with-slide-in > .wc-block-mini-cart__drawer.wc-block-components-drawer {
    animation-name: none;
}
.wp-site-blocks > header:has(.wp-block-navigation__responsive-container.is-menu-open) { z-index: 100000; }
@media (max-width: 599px) {
    /* Count and accessible total remain in Woo's button; avoid cramped phone headers. */
    .wc-block-mini-cart__button .wc-block-mini-cart__amount { display: none; }
}
.ropa-on-ink .ropa-wordmark em { color: var(--wp--preset--color--champagne); }
/* Contact page text links must be identifiable without hovering. */
.page-id-81 main .entry-content a[href]:not(.wp-element-button, .wp-block-button__link) {
    text-decoration-line: underline;
    text-decoration-color: currentColor;
    text-decoration-thickness: 1px;
    text-underline-offset: .18em;
    text-decoration-skip-ink: auto;
}
.page-id-81 main .entry-content a[href]:not(.wp-element-button, .wp-block-button__link):is(:hover, :focus-visible) {
    text-decoration-thickness: 2px;
}
.ropa-stone-link { display: block; color: inherit; text-decoration: none; }
/* Keep stone images equal and names on one baseline within the rail gaps. */
.ropa-rail > .wp-block-group { min-width: 0; }
.ropa-rail .ropa-stone-link > p { white-space: nowrap; margin-inline: -8px; }
.ropa-stone-link .ropa-bead { margin-bottom: var(--wp--preset--spacing--20) !important; }
.ropa-stone-link:hover p { text-decoration: underline; text-underline-offset: .2em; }
.ropa-rail-arrow[aria-disabled="true"] { opacity: .35; cursor: default; }
.ropa-kform input:focus-visible, .ropa-kform textarea:focus-visible {
    outline: 2px solid var(--wp--preset--color--gold-deep);
    outline-offset: 3px;
}
.ropa-kform textarea { resize: vertical; min-height: 150px; }
.ropa-kform[aria-busy="true"] button[type="submit"] { opacity: .65; cursor: progress; }
.ropa-kform__notice { scroll-margin-top: 130px; }
.ropa-size-help { margin: 0 0 var(--wp--preset--spacing--30); border-block: var(--wp--custom--hairline); font-size: var(--wp--preset--font-size--small); }
.ropa-size-help summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 48px; cursor: pointer; list-style: none; font-weight: 600; }
.ropa-size-help summary::-webkit-details-marker { display: none; }
.ropa-size-help summary::after { content: '+'; font-size: 22px; font-weight: 400; }
.ropa-size-help[open] summary::after { content: '\2212'; }
.ropa-size-help p { margin: 0 0 var(--wp--preset--spacing--20); line-height: 1.6; }
.ropa-size-help a { text-underline-offset: .2em; }
@media (hover: hover) {
    .ropa-pdp-sizes button:not(:disabled):not([aria-pressed="true"]):hover { background: var(--wp--preset--color--cream); border-color: var(--wp--preset--color--gold-deep); }
}
/* Core Navigation retains its own focus trap, Escape and menu semantics. */
@media (max-width: 1023px) {
    .wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
    .wp-block-navigation .wp-block-navigation__responsive-container-open { display: flex !important; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
}
@media (max-width: 781px) {
    .ropa-shop-nav ul { flex-wrap: nowrap; overflow-x: auto; padding: 5px 3px 12px; gap: 8px; scrollbar-width: thin; scrollbar-color: var(--wp--preset--color--champagne) transparent; }
    .ropa-shop-nav li { flex: 0 0 auto; }
    .ropa-shop-nav a { white-space: nowrap; padding-inline: 16px; }
    .post-type-archive-product .wp-block-woocommerce-product-results-count, .tax-product_cat .wp-block-woocommerce-product-results-count { font-size: var(--wp--preset--font-size--small); }
}
.wp-block-group.ropa-hero > .wp-block-columns { gap: var(--wp--preset--spacing--60); }
.wp-block-group.ropa-hero .wp-block-heading { font-size: clamp(40px, 4.3vw, 64px); max-width: none; line-height: 1.12; letter-spacing: -.035em; }
.ropa-hero h1 span { display: block; }
.ropa-hero .is-style-ropa-eyebrow { max-width: none; line-height: 1.6; margin-bottom: var(--wp--preset--spacing--30) !important; }
.ropa-hero .is-style-ropa-lead { max-width: 32ch; }
.ropa-hero .ropa-hero__details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--10) var(--wp--preset--spacing--30); list-style: none; margin: var(--wp--preset--spacing--40) 0 0; padding: var(--wp--preset--spacing--30) 0 0; border-top: var(--wp--custom--hairline); color: var(--wp--preset--color--ink-soft); font-size: var(--wp--preset--font-size--small); line-height: 1.5; }
.ropa-hero__details li { display: flex; align-items: baseline; gap: var(--wp--preset--spacing--10); }
.ropa-hero__details li::before { content: '·'; color: var(--wp--preset--color--gold-deep); }
.ropa-hero__rating { font-size: var(--wp--preset--font-size--small); margin-top: var(--wp--preset--spacing--20); }
.ropa-hero__rating a { color: var(--wp--preset--color--ink-soft); text-underline-offset: .2em; }
.wp-block-group.ropa-hero > .wp-block-columns { margin-bottom: 0; }
.ropa-hero .ropa-hero__media img { aspect-ratio: 1; width: 100%; height: auto; object-fit: cover; object-position: center 75%; border-radius: 48% 48% 0 0; }
.wp-block-group.ropa-atelier { padding-block: var(--wp--preset--spacing--70); }
.wp-block-group.ropa-atelier > .wp-block-columns { gap: var(--wp--preset--spacing--70); }
.ropa-atelier figure { margin: 0; }
.ropa-atelier img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.ropa-atelier h2 { font-size: var(--wp--preset--font-size--display-l); line-height: 1.15; }
.ropa-atelier .is-style-ropa-lead { max-width: 34ch; }
.ropa-atelier-note { color: var(--wp--preset--color--mute); font-size: var(--wp--preset--font-size--small); }
.post-type-archive-product main.wp-block-group, .tax-product_cat main.wp-block-group, .single-product main.wp-block-group { padding-top: var(--wp--preset--spacing--40); }
.post-type-archive-product main > .alignwide, .tax-product_cat main > .alignwide { max-width: var(--wp--style--global--content-size); }
.wp-block-query-title { letter-spacing: -.035em; }
.ropa-shop-nav { margin-bottom: var(--wp--preset--spacing--50); }
.wp-block-woocommerce-product-template .wc-block-components-product-image { background: var(--wp--preset--color--cream); }
.wp-block-woocommerce-product-template .wp-block-post-title a { text-decoration: none; }
.wp-block-woocommerce-product-template .wp-block-post-title a:hover { text-decoration: underline; text-underline-offset: .22em; }
/* Native Woo controls own variations, stock and submitted prices. */
.single-product main > .wp-block-columns > .wp-block-column:last-child { box-sizing: border-box; padding: var(--wp--preset--spacing--20) 0 0 var(--wp--preset--spacing--30); }
.single-product h1.wp-block-post-title { font-family: var(--wp--preset--font-family--lora); font-size: clamp(30px, 3.2vw, 46px); line-height: 1.2; letter-spacing: -.035em; margin-bottom: var(--wp--preset--spacing--30); }
.single-product main .wp-block-woocommerce-product-price { margin-block: 0 var(--wp--preset--spacing--30); }
.single-product main .wp-block-woocommerce-product-price .amount { font-size: var(--wp--preset--font-size--x-large); }
.single-product main .wp-block-post-excerpt { font-family: var(--wp--preset--font-family--lora); font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--ink-soft); padding-bottom: var(--wp--preset--spacing--20); border-bottom: 1px solid var(--wp--preset--color--line); }
.single-product form.cart { margin-top: var(--wp--preset--spacing--40); }
.single-product form.cart .variations td, .single-product form.cart .variations th { display: block; text-align: left; padding: 0; }
.single-product form.cart .variations label { font-weight: 600; font-size: var(--wp--preset--font-size--small); }
.ropa-pdp-sizes { display: flex; flex-wrap: wrap; gap: 8px; padding-block: 10px; }
.ropa-pdp-sizes button { min-height: 46px; padding: 10px 18px; border: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--paper); color: var(--wp--preset--color--ink); font: inherit; cursor: pointer; }
.ropa-pdp-sizes button[aria-pressed="true"] { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); border-color: var(--wp--preset--color--ink); }
.ropa-pdp-sizes button:disabled { opacity: .4; cursor: not-allowed; text-decoration: line-through; }
.single-product form.cart .variations select.ropa-enhanced-select { display: none; }
.single-product form.cart .reset_variations { font-size: var(--wp--preset--font-size--small); }
.woocommerce-variation-add-to-cart { display: flex; gap: 12px; flex-wrap: wrap; }
.single-product form.cart div.quantity { margin: 0; }
.woocommerce .quantity .qty { min-height: 50px; box-sizing: border-box; width: 68px; border: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--paper); color: var(--wp--preset--color--ink); font: inherit; }
.single-product form.cart .single_add_to_cart_button { flex: 1; min-height: 50px; min-width: 180px; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); font: inherit; font-weight: 600; letter-spacing: 0; text-transform: none; border-radius: 0; }
.single-product .wp-block-woocommerce-product-meta { margin-top: var(--wp--preset--spacing--30); font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--mute); }
.single-product div.images .flex-control-thumbs { display: flex; gap: 10px; margin-top: 12px; }
.single-product div.images .flex-control-thumbs li { max-width: 90px; }
.single-product div.images .flex-control-thumbs img { border: 1px solid transparent; box-sizing: border-box; }
.single-product div.images .flex-control-thumbs img.flex-active { border-color: var(--wp--preset--color--gold-deep); }
.single-product .woocommerce-tabs { padding-top: var(--wp--preset--spacing--40); clear: both; }
.single-product .woocommerce-tabs ul.tabs { padding: 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.single-product .woocommerce-tabs ul.tabs::before, .single-product .woocommerce-tabs ul.tabs li::before, .single-product .woocommerce-tabs ul.tabs li::after { display: none; }
.single-product .woocommerce-tabs ul.tabs li { border: 0; border-radius: 0; margin: 0 20px 0 0; padding: 0; background: transparent; }
.single-product .woocommerce-tabs ul.tabs li.active { background: transparent; border-bottom: 2px solid var(--wp--preset--color--ink); }
.single-product .woocommerce-tabs ul.tabs li a { padding: 14px 0; color: var(--wp--preset--color--ink); }
.single-product .woocommerce-tabs .panel { max-width: 760px; margin-bottom: var(--wp--preset--spacing--70); }
.single-product .related > h2 { margin-bottom: var(--wp--preset--spacing--40); font-size: var(--wp--preset--font-size--display-m); }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { min-height: 50px; }
.wc-block-components-sidebar-layout .wc-block-components-sidebar { background: var(--wp--preset--color--cream); padding: 24px; box-sizing: border-box; }
.wc-block-components-title.wc-block-components-title { font-family: var(--wp--preset--font-family--lora); letter-spacing: -.02em; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; border-top: 1px solid var(--wp--preset--color--line); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 14px 12px; border-bottom: 1px solid var(--wp--preset--color--line); text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--wp--preset--color--cream); }
.woocommerce form.login, .woocommerce form.register { border-color: var(--wp--preset--color--line); border-radius: 0; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea { min-height: 46px; padding: 10px; border: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--paper); color: var(--wp--preset--color--ink); font: inherit; }
@media (max-width: 781px) {
.wp-block-group.ropa-hero .wp-block-heading { max-width: none; font-size: clamp(40px, 10vw, 60px); }
.ropa-hero h1 span { display: inline; }
.ropa-hero .ropa-hero__details { font-size: var(--wp--preset--font-size--x-small); margin-top: var(--wp--preset--spacing--30); }
.ropa-hero .ropa-hero__media img { aspect-ratio: 7 / 5; max-height: 320px; border-radius: 45% 45% 0 0; }
.ropa-hero .is-style-ropa-eyebrow { margin-bottom: var(--wp--preset--spacing--20) !important; }
.ropa-hero .is-style-ropa-lead { margin-top: var(--wp--preset--spacing--30) !important; }
.wp-block-group.ropa-hero > .wp-block-columns, .wp-block-group.ropa-atelier > .wp-block-columns { gap: var(--wp--preset--spacing--40); }
.ropa-atelier img { aspect-ratio: 4 / 3; }
.single-product main > .wp-block-columns > .wp-block-column:last-child { padding: 0; }
.single-product h1.wp-block-post-title { font-size: 32px; }
.single-product div.images { margin-bottom: var(--wp--preset--spacing--40); }
.wc-block-components-sidebar-layout .wc-block-components-sidebar { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

.single-product main > .alignwide { max-width: var(--wp--style--global--content-size); }
/* Calm interaction motion. Content remains visible without animation support. */
@media (prefers-reduced-motion: no-preference) {
    @keyframes ropa-menu-arrive {
        from { opacity: 0; transform: translateY(8px); }
        to { opacity: 1; transform: translateY(0); }
    }
    @media (max-width: 1023px) {
        .ropa-header-row .is-menu-open .ropa-nav-mobile:not(.ropa-nav-brand):not(.ropa-nav-cart) {
            animation: ropa-menu-arrive 360ms cubic-bezier(.22, .61, .36, 1) both;
        }
    }
    /* Keep Woo's 300ms transition lifecycle, with a softer deceleration. */
    .wc-block-components-drawer__screen-overlay--with-slide-out,
    .wc-block-components-drawer__screen-overlay--with-slide-out .wc-block-components-drawer {
        transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    }
    .wc-block-components-drawer__screen-overlay--with-slide-in:has(> .wc-block-mini-cart__drawer),
    .wc-block-components-drawer__screen-overlay--with-slide-in > .wc-block-mini-cart__drawer.wc-block-components-drawer {
        transition-timing-function: cubic-bezier(.22, .61, .36, 1);
    }
    .wp-block-group.ropa-buybar { transition-timing-function: cubic-bezier(.22, .61, .36, 1); }
    .ropa-header-row .wp-block-navigation-item__content,
    .ropa-pdp-sizes button,
    .ropa-product-accordion summary,
    .ropa-size-help summary {
        transition: color 200ms ease, background-color 200ms ease, border-color 200ms ease;
    }
    /* Native disclosure semantics, enhanced only in supporting browsers. */
    @supports (interpolate-size: allow-keywords) and selector(details::details-content) {
        :is(.ropa-product-accordion > details, details.ropa-size-help)::details-content {
            interpolate-size: allow-keywords;
            height: 0;
            overflow: clip;
            opacity: 0;
            transition: height 280ms cubic-bezier(.22, .61, .36, 1), opacity 220ms ease, content-visibility 280ms allow-discrete;
        }
        :is(.ropa-product-accordion > details, details.ropa-size-help)[open]::details-content {
            height: auto;
            opacity: 1;
        }
    }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-delay: 0ms !important; transition-delay: 0ms !important; }
}

/* Woo's block styles load after the theme and carry higher specificity. */
.single-product .wc-block-add-to-cart-form form.cart .variations select.ropa-enhanced-select { display: none !important; }
.single-product .wc-block-add-to-cart-form .woocommerce-variation-add-to-cart { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 12px; }
.single-product .wc-block-add-to-cart-form .single_add_to_cart_button { width: 100%; max-width: none; }
.single-product .woocommerce-product-gallery .flex-control-thumbs { display: flex; gap: 10px; margin-top: 12px; }
.single-product .woocommerce-product-gallery .flex-control-thumbs li { max-width: 90px; }


/* Support forms and empty cart keep the same quiet treatment. */
.ropa-kform input:not([type="hidden"]), .ropa-kform textarea { box-sizing: border-box; max-width: 100%; }
.wc-block-cart__empty-cart__title::before { display: none; }
@media (max-width: 781px) {
.page:not(.home) main > .wp-block-group.alignfull:first-child { padding-top: var(--wp--preset--spacing--50) !important; }
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li { margin: 0; padding: 0; }
.woocommerce-account main > .wp-block-post-title { max-width: 760px; margin-inline: auto; }

/* Visual polish: consistent card actions and narrow-screen announcements. */
.ropa-prod-caption .wp-block-woocommerce-product-button .wp-block-button__link {
    box-sizing: border-box;
    width: 100%;
    min-height: var(--wp--custom--control-min);
}
.wp-block-group.ropa-prod-meta {
    gap: var(--wp--preset--spacing--10) var(--wp--preset--spacing--30);
}
@media (max-width: 480px) {
    .ropa-promo .wp-block-group.is-layout-flex {
        gap: var(--wp--preset--spacing--30);
        justify-content: center;
        flex-wrap: wrap;
        mask-image: none;
        overflow: visible;
    }
    .ropa-promo p:nth-child(2), .ropa-promo p:nth-child(n + 4) {
        display: none;
    }
}

/* Collection cards reveal their size form on request. Keep Woo's native state. */
:is(.post-type-archive-product, .tax-product_cat) main .wp-block-query-title { margin-bottom: var(--wp--preset--spacing--20); }
.ropa-shop-intro { margin-block: 0 var(--wp--preset--spacing--30); color: var(--wp--preset--color--ink-soft); font-size: var(--wp--preset--font-size--small); }
:is(.post-type-archive-product, .tax-product_cat) .ropa-shop-nav { margin-block: var(--wp--preset--spacing--30); }
.ropa-shop-options { width: 100%; margin: 0; border-block: var(--wp--custom--hairline); }
.ropa-shop-options > summary { display: flex; align-items: center; justify-content: space-between; gap: var(--wp--preset--spacing--10); min-height: var(--wp--custom--control-min); list-style: none; cursor: pointer; font-size: var(--wp--preset--font-size--small); }
.ropa-shop-options > summary::-webkit-details-marker { display: none; }
.ropa-shop-options > summary::after { content: '+'; font-size: var(--wp--preset--font-size--large); }
.ropa-shop-options[open] > summary::after { content: '\2212'; }
.ropa-shop-options .ropa-size { padding-block: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20); }
.ropa-shop-options .ropa-size__guide { display: inline-flex; align-items: center; min-height: var(--wp--custom--control-min); text-decoration: underline; text-underline-offset: .2em; }
.ropa-shop-options .wp-block-button__link { width: 100%; box-sizing: border-box; min-height: var(--wp--custom--control-min); }

/* Customer pages share the storefront's reading and control tokens. */
/* Keep native purchase controls roomy on phones, including Woo's responsive grid. */
@media (max-width: 599px) {
    .wp-site-blocks .wp-block-woocommerce-product-template.wc-block-product-template {
        grid-template-columns: minmax(0, 1fr);
    }
    /* Keep the collection heading close and separate complete product cards. */
    .home .ropa-section-head + .wp-block-woocommerce-product-collection {
        margin-block-start: var(--wp--preset--spacing--40);
    }
    .home .wp-block-woocommerce-product-collection .wc-block-product-template {
        row-gap: var(--wp--preset--spacing--50);
    }
}
.wp-block-group.ropa-care-methods {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
/* Override the legacy inline 11px tracked label in the existing buy-bar pattern. */
.ropa-buybar .wp-block-button__link {
    font-size: var(--wp--preset--font-size--x-small) !important;
    letter-spacing: normal !important;
}
@media (max-width: 359px) {
    .wp-block-group.ropa-buybar > .wp-block-group { display: none; }
    .ropa-buybar .wp-block-buttons, .ropa-buybar .wp-block-button { width: 100%; }
    .ropa-buybar .wp-block-button__link { display: block; text-align: center; }
}

.ropa-policy { font-size: var(--wp--preset--font-size--small); line-height: 1.75; overflow-wrap: anywhere; }
.ropa-policy h2 { margin-top: var(--wp--preset--spacing--60); font-size: var(--wp--preset--font-size--display-s); line-height: 1.25; scroll-margin-top: 120px; }
.ropa-policy h3 { font-size: var(--wp--preset--font-size--large); }
.ropa-policy-lead { font-family: var(--wp--preset--font-family--lora); font-size: var(--wp--preset--font-size--large); line-height: 1.65; }
.ropa-policy-nav, .ropa-form-actions { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--20); }
.ropa-policy-nav a { padding-block: var(--wp--preset--spacing--10); }
.ropa-service-summary, .ropa-withdrawal { background: var(--wp--preset--color--cream); padding: var(--wp--preset--spacing--40); margin-block: var(--wp--preset--spacing--40); }
.ropa-withdrawal { scroll-margin-top: 120px; }
.ropa-withdrawal h2:first-child { margin-top: 0; }
.ropa-service-form label { display: block; margin-bottom: var(--wp--preset--spacing--10); font-weight: 600; }
.ropa-service-form input:not([type="hidden"]), .ropa-service-form textarea { box-sizing: border-box; width: 100%; min-height: var(--wp--custom--control-min); padding: var(--wp--preset--spacing--20); background: var(--wp--preset--color--paper); color: var(--wp--preset--color--ink); border: var(--wp--custom--hairline); font: inherit; }
.ropa-service-form textarea { resize: vertical; }
.ropa-service-form button { min-height: var(--wp--custom--control-min); font: inherit; cursor: pointer; }
.ropa-service-form dd { margin: 0 0 var(--wp--preset--spacing--20); }
.ropa-button-secondary { padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); border: var(--wp--custom--hairline); background: transparent; color: var(--wp--preset--color--ink); }
.ropa-form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.ropa-service-notice { border-left: 3px solid var(--wp--preset--color--gold-deep); padding: var(--wp--preset--spacing--20); }
.ropa-receipt { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
.ropa-table-scroll { overflow-x: auto; }
.ropa-policy table { width: 100%; border-collapse: collapse; text-align: left; font-size: var(--wp--preset--font-size--x-small); }
.ropa-policy td, .ropa-policy th { padding: var(--wp--preset--spacing--20); border-bottom: var(--wp--custom--hairline); vertical-align: top; }
.ropa-policy caption { text-align: left; font-weight: 600; margin-bottom: var(--wp--preset--spacing--20); }
.ropa-purchase-help { font-size: var(--wp--preset--font-size--x-small); line-height: 1.7; margin-top: var(--wp--preset--spacing--30); }
.wc-block-components-checkbox__label a, .ropa-purchase-help a {
  text-decoration: underline;
  text-underline-offset: .2em;
}
/* Keep the empty-cart state as quiet as the rest of the shop. */
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before { display: none; }
@media (max-width: 480px) {
  .ropa-service-summary, .ropa-withdrawal { padding: var(--wp--preset--spacing--30); }
  .ropa-form-actions { flex-direction: column; }
}
@media print {
  .wp-block-group.ropa-promo, .wp-site-blocks > header, .wp-site-blocks > footer, #wpadminbar, .ropa-service-form { display: none !important; }
  .ropa-receipt { break-inside: avoid; }
}

/* Visual refinement: warm jewellery imagery, quiet controls, clear hierarchy. */
.home main h2.wp-block-heading { font-size: clamp(32px, 3.5vw, 48px); line-height: 1.16; letter-spacing: -.025em; text-wrap: balance; }
.home .ropa-section-head > .is-style-ropa-lead { max-width: 32ch; line-height: 1.65; }
.wp-block-button .wp-block-button__link, .wp-element-button,
.single-product form.cart .single_add_to_cart_button,
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
    border-radius: var(--wp--custom--radius-control);
}
.wp-block-woocommerce-product-template .wp-block-woocommerce-product-image,
.ropa-prod-photo, .ropa-atelier img, #zgodba .wp-block-image img,
.single-product .woocommerce-product-gallery__image {
    border-radius: var(--wp--custom--radius-media);
    overflow: hidden;
}
.wp-block-woocommerce-product-template .ropa-prod-caption { padding: 20px 0 0; }
.ropa-prod-line .wp-block-post-title { font-size: var(--wp--preset--font-size--large); font-weight: 500; line-height: 1.35; letter-spacing: -.015em; }
.ropa-prod-line .wp-block-woocommerce-product-price { font-size: var(--wp--preset--font-size--large); font-weight: 600; font-variant-numeric: tabular-nums; }
.ropa-prod-affirm { font-size: var(--wp--preset--font-size--small); line-height: 1.65; }
.ropa-prod-meta p, .ropa-prod-meta .wc-block-components-product-stock-indicator { letter-spacing: normal; }
.ropa-prod-caption .ropa-size { padding-top: 16px; }
.ropa-prod-caption .wp-block-woocommerce-product-button .wp-block-button__link {
    background: transparent; border: 1px solid var(--wp--preset--color--line);
    color: var(--wp--preset--color--ink); min-height: 48px;
}
.ropa-pdp-sizes button, .ropa-size button, .ropa-shop-nav a,
.single-product form.cart .quantity .qty { border-radius: var(--wp--custom--radius-control); }
.ropa-size-help { background: var(--wp--preset--color--cream); border: 0; border-radius: var(--wp--custom--radius-control); padding-inline: 16px; }
.ropa-size-help summary { min-height: 50px; }
.ropa-size-help[open] { padding-bottom: 8px; }
.single-product .woocommerce-product-gallery ol.flex-control-thumbs {
    display: flex; gap: 10px; margin: 12px 0 0 !important; padding: 0;
}
.single-product .woocommerce-product-gallery ol.flex-control-thumbs li { width: 76px !important; max-width: 24%; float: none; }
.single-product .woocommerce-product-gallery ol.flex-control-thumbs img { border-radius: var(--wp--custom--radius-control); box-sizing: border-box; border: 2px solid transparent; opacity: .7; }
.single-product .woocommerce-product-gallery ol.flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--wp--preset--color--gold-deep); }
.single-product .woocommerce-tabs ul.tabs li a { font-weight: 500; }

/* The whole category tile is one descriptive link; imagery replaces numbering. */
.wp-block-group.ropa-category-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.ropa-category-tile {
    display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: 24px;
    padding: 32px; background: var(--wp--preset--color--paper);
    border: 1px solid transparent; border-radius: var(--wp--custom--radius-media);
    color: var(--wp--preset--color--ink); text-decoration: none;
    transition: border-color var(--wp--custom--transition), background-color var(--wp--custom--transition);
}
.ropa-category-tile__stone { grid-column: 2; grid-row: 1; width: 112px; max-width: 100%; height: auto; align-self: center; }
.ropa-category-tile__copy { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; min-width: 0; }
.ropa-category-tile h3 { margin: 0; font-size: clamp(24px, 2.2vw, 30px); line-height: 1.2; letter-spacing: -.025em; }
.ropa-category-tile__stones { margin: 12px 0 0; font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--gold-deep); line-height: 1.55; }
.ropa-category-tile__description { margin: 12px 0 24px; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--ink-soft); line-height: 1.6; }
.ropa-category-tile__action { display: flex; align-items: center; gap: 12px; margin-top: auto; font-size: var(--wp--preset--font-size--small); font-weight: 600; }
.ropa-category-tile__action > span { color: var(--wp--preset--color--gold-deep); }
.ropa-category-tile:focus-visible { outline-offset: 4px; }

/* Support and commerce surfaces share the same restrained geometry. */
.ropa-kform { padding: clamp(20px, 3vw, 32px); background: var(--wp--preset--color--cream); border-radius: var(--wp--custom--radius-media); }
.ropa-kform > p:first-of-type { margin-top: 0; }
.ropa-kform > p:last-child { margin-bottom: 0; }
.ropa-kform label { font-weight: 600; }
.ropa-kform input:not([type="hidden"]), .ropa-kform textarea,
.ropa-service-form input:not([type="hidden"]), .ropa-service-form textarea,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea {
    border-radius: var(--wp--custom--radius-control); min-height: 48px;
}
.wc-block-components-sidebar-layout .wc-block-components-sidebar,
.ropa-service-summary, .ropa-withdrawal { border-radius: var(--wp--custom--radius-media); }
.ropa-shop-nav a { transition: background-color var(--wp--custom--transition), color var(--wp--custom--transition); }
@media (hover: hover) {
    .ropa-category-tile:hover { border-color: var(--wp--preset--color--champagne); color: var(--wp--preset--color--ink); }
    .ropa-category-tile:hover .ropa-category-tile__action { text-decoration: underline; text-underline-offset: .25em; }
    .ropa-prod-caption .wp-block-woocommerce-product-button .wp-block-button__link:hover { background: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); }
}
@media (max-width: 1023px) and (min-width: 600px) {
    .ropa-category-tile { grid-template-columns: minmax(0, 1fr) 72px; padding: 24px; gap: 16px; }
    .ropa-category-tile__stone { width: 72px; }
}
@media (max-width: 599px) {
    .wp-block-group.ropa-category-grid { grid-template-columns: minmax(0, 1fr); gap: var(--wp--preset--spacing--30); }
    .ropa-category-tile { grid-template-columns: minmax(0, 1fr) 64px; gap: 16px; padding: 24px 20px; }
    .ropa-category-tile__stone { width: 64px; align-self: start; }
    .ropa-category-tile h3 { font-size: 25px; }
    .ropa-category-tile__description { margin-bottom: 18px; }
    .home main h2.wp-block-heading { font-size: clamp(30px, 8.3vw, 38px); }
    .ropa-kform { margin-inline: 0; }
}
@media (max-width: 359px) {
    .ropa-category-tile { display: block; position: relative; }
    .ropa-category-tile__stone { position: absolute; top: 24px; right: 20px; width: 48px; }
    .ropa-category-tile h3, .ropa-category-tile__stones { padding-right: 60px; }
}
@media (max-width: 599px) {
    .wp-block-group:has(> .wc-block-catalog-sorting) { flex-wrap: wrap; gap: 12px; }
    .wp-block-group > .wc-block-catalog-sorting { width: 100%; }
    .wc-block-catalog-sorting .woocommerce-ordering, .wc-block-catalog-sorting select.orderby { width: 100%; }
    .wc-block-catalog-sorting select.orderby { min-height: 44px; border-radius: var(--wp--custom--radius-control); }
}

/* One mobile header geometry, inside and outside the native navigation dialog. */
@media (max-width: 1023px) {
    .wp-site-blocks > header.wp-block-template-part,
    .wp-site-blocks > header.wp-block-template-part.is-scrolled { padding-block: 8px; background-color: var(--wp--preset--color--paper); backdrop-filter: none; }
    .wp-block-group.ropa-header-row { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; gap: 12px; align-items: center; }
    .ropa-header-row > .wp-block-navigation { grid-row: 1; grid-column: 1; justify-self: start; }
    .ropa-header-row > .ropa-wordmark { grid-row: 1; grid-column: 2; justify-self: center; }
    .ropa-header-row > .ropa-wordmark a,
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .ropa-nav-brand > a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 64px; width: auto; font-family: var(--wp--preset--font-family--cormorant-garamond); font-size: 34px; font-style: italic; font-weight: 300; letter-spacing: .02em; line-height: 1; color: var(--wp--preset--color--ink); }
    .ropa-header-row .ropa-nav-brand .wp-block-navigation-item__label { display: inline-flex; }
    .ropa-header-row .ropa-nav-brand em { color: var(--wp--preset--color--gold-deep); font-style: italic; }
    .ropa-header-row > .ropa-header-tools { grid-row: 1; grid-column: 3; justify-self: end; gap: 0; }
    .ropa-header-tools > .wp-block-woocommerce-customer-account,
    .ropa-header-tools .wc-block-mini-cart__amount { display: none; }
    .ropa-header-tools .wc-block-mini-cart__button { min-width: 44px; min-height: 44px; padding: 8px; display: flex; justify-content: center; align-items: center; }
    .ropa-header-tools .wc-block-mini-cart__icon { width: 24px; height: 24px; }
    .ropa-nav-desktop { display: none !important; }
    .ropa-nav-mobile { display: flex !important; }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open { inset: var(--ropa-menu-top, 0px) 0 0; padding: 0; height: calc(100dvh - var(--ropa-menu-top, 0px)); max-height: calc(100dvh - var(--ropa-menu-top, 0px)); overflow-y: auto; overscroll-behavior: contain; box-sizing: border-box; scroll-padding-block: calc(var(--ropa-menu-height, 61px) + 16px) 20px; animation: none; }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding: calc(var(--ropa-menu-height, 61px) + 20px) var(--ropa-menu-gutter, 20px) max(24px, env(safe-area-inset-bottom)); align-items: stretch; }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px !important; width: 100%; align-items: stretch; }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { grid-column: 1 / -1; width: 100%; border: 0; margin: 0; }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { display: flex; align-items: center; width: 100%; min-height: 48px; box-sizing: border-box; padding: 8px 0; border: 0; text-decoration: none; font-family: var(--wp--preset--font-family--source-sans); font-size: 17px; font-style: normal; font-weight: 400; line-height: 1.35; letter-spacing: 0; }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open::before { content: ''; position: fixed; top: var(--ropa-menu-top, 0px); left: 0; right: 0; height: var(--ropa-menu-height, 61px); box-sizing: border-box; background: var(--wp--preset--color--paper); border-bottom: var(--wp--custom--hairline); z-index: 2; pointer-events: none; }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { position: fixed; top: var(--ropa-menu-control-top, 8px); left: var(--ropa-menu-gutter, 20px); right: auto; padding: 0; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; z-index: 3; background: transparent; }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .ropa-nav-brand { position: fixed; top: var(--ropa-menu-control-top, 8px); left: 50%; transform: translateX(-50%); width: auto; z-index: 3; }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .ropa-nav-brand > a { padding: 0; }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .ropa-nav-cart { position: fixed; top: var(--ropa-menu-control-top, 8px); right: var(--ropa-menu-gutter, 20px); width: 44px; z-index: 3; }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .ropa-nav-cart > a { position: relative; min-height: 44px; height: 44px; justify-content: center; padding: 0; }
    .ropa-nav-cart .wp-block-navigation-item__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    .ropa-nav-cart > a::before { content: ''; width: 24px; height: 24px; background: currentColor; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='12.667' cy='24.667' r='2'/%3E%3Ccircle cx='23.333' cy='24.667' r='2'/%3E%3Cpath d='M9.285 10.036a1 1 0 0 1 .776-.37h15.272a1 1 0 0 1 .99 1.142l-1.333 9.333A1 1 0 0 1 24 21H12a1 1 0 0 1-.98-.797L9.083 10.87a1 1 0 0 1 .203-.834m2.005 1.63L12.814 19h10.319l1.047-7.333z'/%3E%3Cpath d='M5.667 6.667a1 1 0 0 1 1-1h2.666a1 1 0 0 1 .984.82l.727 4a1 1 0 1 1-1.967.359l-.578-3.18H6.667a1 1 0 0 1-1-1'/%3E%3C/svg%3E") center / contain no-repeat; }
    .ropa-menu-cart-count { position: absolute; top: 1px; right: 0; min-width: 16px; height: 16px; padding-inline: 3px; box-sizing: border-box; border-radius: 50%; color: var(--wp--preset--color--paper); background: var(--wp--preset--color--ink); font-size: 11px; line-height: 16px; text-align: center; }
    .ropa-menu-cart-count[hidden] { display: none; }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .ropa-nav-all { margin-bottom: 12px; }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .ropa-nav-all > a { justify-content: space-between; padding: 16px 20px; min-height: 60px; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); border-radius: var(--wp--custom--radius-control); font-family: var(--wp--preset--font-family--lora); font-size: 23px; }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .ropa-nav-all > a::after,
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .ropa-nav-category > a::after { content: ''; width: 6px; height: 6px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); flex-shrink: 0; margin-left: auto; margin-right: 4px; }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .ropa-nav-category > a { min-height: 60px; gap: 12px; padding-inline-end: 20px; border-bottom: var(--wp--custom--hairline); font-size: 19px; }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .ropa-nav-category > a::before { content: ''; width: 40px; height: 40px; flex: 0 0 40px; background: center / contain no-repeat; }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .ropa-nav-love > a::before { background-image: url('../images/beads/rose-quartz.webp'); }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .ropa-nav-power > a::before { background-image: url('../images/beads/citrine.webp'); }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .ropa-nav-protect > a::before { background-image: url('../images/beads/labradorite.webp'); }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .ropa-nav-renew > a::before { background-image: url('../images/beads/amethyst.webp'); }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .ropa-nav-assist { grid-column: span 1; margin-top: 16px; }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .ropa-nav-assist > a { min-height: 56px; color: var(--wp--preset--color--ink); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .22em; }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .ropa-nav-info,
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .ropa-nav-help { grid-column: span 1; }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .ropa-nav-info-start { padding-top: 12px; margin-top: 8px; border-top: var(--wp--custom--hairline); }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .ropa-nav-help { margin-top: 8px; }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .ropa-nav-help > a { font-size: 15px; color: var(--wp--preset--color--ink-soft); }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content[aria-current="page"]:not(.ropa-nav-brand > a):not(.ropa-nav-all > a) { color: var(--wp--preset--color--gold-deep); text-decoration: underline; text-underline-offset: .22em; }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open a:focus-visible,
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open button:focus-visible { outline: 2px solid var(--wp--preset--color--gold-deep); outline-offset: 3px; border-radius: var(--wp--custom--radius-control); }
    .ropa-header-row .wp-block-navigation__responsive-container.is-menu-open a:active { opacity: .75; }
}

/* WordPress keeps its admin toolbar fixed at tablet widths. */
@media (min-width: 601px) and (max-width: 782px) {
    .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 46px; }
}
@media (min-width: 783px) and (max-width: 1023px) {
    .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
}

/* Square product photography needs a stable frame after device rotation too. */
/* Phone editorial rhythm uses the existing spacing and type scale. */
@media (max-width: 599px) {
    .home main > .wp-block-group.alignfull,
    .wp-site-blocks > footer .ropa-on-ink { --wp--preset--spacing--80: var(--wp--preset--spacing--60); }
    .wp-block-group.ropa-prod-line { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: var(--wp--preset--spacing--20); }
    .ropa-prod-line .wp-block-post-title,
    .ropa-prod-line .wp-block-woocommerce-product-price { margin: 0; }
    .ropa-prod-caption .ropa-prod-cat { margin-bottom: var(--wp--preset--spacing--10); }
    .ropa-prod-caption .ropa-prod-affirm { margin-block: var(--wp--preset--spacing--20); }
    .ropa-prod-caption .ropa-prod-affirm p { margin: 0; }
    :is(.post-type-archive-product, .tax-product_cat) .wp-block-woocommerce-product-template > li { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--wp--preset--spacing--20); row-gap: var(--wp--preset--spacing--20); align-content: start; align-items: baseline; }
    :is(.post-type-archive-product, .tax-product_cat) .wp-block-woocommerce-product-template > li > .ropa-prod-photo { grid-column: 1 / -1; margin: 0; }
    :is(.post-type-archive-product, .tax-product_cat) .wp-block-woocommerce-product-template > li > .wp-block-post-title { grid-column: 1; margin: 0; min-width: 0; text-align: left; font-size: var(--wp--preset--font-size--large); line-height: 1.35; font-weight: 500; }
    :is(.post-type-archive-product, .tax-product_cat) .wp-block-woocommerce-product-template > li > .wp-block-woocommerce-product-price { grid-column: 2; margin: 0; font-size: var(--wp--preset--font-size--large); font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
    :is(.post-type-archive-product, .tax-product_cat) .wp-block-woocommerce-product-template > li > .ropa-size { grid-column: 1 / -1; margin: 0; }
    :is(.post-type-archive-product, .tax-product_cat) .ropa-size .wp-block-button__link { box-sizing: border-box; width: 100%; min-height: 48px; background: transparent; border: var(--wp--custom--hairline); color: var(--wp--preset--color--ink); }
    #zgodba .wp-block-group.ropa-serif { font-size: var(--wp--preset--font-size--large) !important; line-height: 1.65 !important; }
    #zgodba .ropa-serif > p.has-text-color { font-size: var(--wp--preset--font-size--x-large) !important; line-height: 1.45 !important; }
    .wp-site-blocks > footer .ropa-on-ink > .wp-block-group.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30); }
    .wp-site-blocks > footer .is-layout-grid > .wp-block-group:first-child,
    .wp-site-blocks > footer .is-layout-grid > .wp-block-group:last-child { grid-column: 1 / -1; }
    .wp-site-blocks > footer .is-style-ropa-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.65; }
    .wp-site-blocks > footer .ropa-footer-links { margin-top: var(--wp--preset--spacing--10) !important; }
    .wp-site-blocks > footer .ropa-footer-links li { margin: 0; }
    .wp-site-blocks > footer .ropa-footer-links a { display: flex; align-items: center; box-sizing: border-box; min-height: var(--wp--custom--control-min); padding-block: var(--wp--preset--spacing--10); font-family: var(--wp--preset--font-family--source-sans); font-size: var(--wp--preset--font-size--small); font-style: normal; letter-spacing: normal; line-height: 1.4; }
    .wp-site-blocks > footer .is-layout-grid > .wp-block-group:last-child .ropa-footer-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--wp--preset--spacing--30); }
    .wp-site-blocks > footer .is-style-ropa-meta { letter-spacing: normal; line-height: 1.65; }
}
.single-product .woocommerce-product-gallery .flex-viewport { aspect-ratio: 1; height: auto !important; }
/* Woo's fixed 512px gallery basis leaves too little purchase space on tablets. */
@media (min-width: 782px) and (max-width: 1100px) {
    .single-product main > .wp-block-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .single-product main > .wp-block-columns > .wp-block-column:last-child { padding-left: 0; }
}
@media (max-width: 1100px) {
    .single-product .ropa-pdp-sizes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ropa-pdp-sizes button { min-width: 0; padding-inline: var(--wp--preset--spacing--10); font-size: var(--wp--preset--font-size--small); }
    .single-product form.cart .reset_variations { display: inline-flex; align-items: center; min-height: var(--wp--custom--control-min); }
}
/* Keep the image, options and line total visible without a wide table minimum. */
@media (max-width: 599px) {
    :is(.wc-block-cart, .wc-block-mini-cart__drawer) table.wc-block-cart-items,
    :is(.wc-block-cart, .wc-block-mini-cart__drawer) table.wc-block-cart-items tbody { display: block; width: 100%; }
    :is(.wc-block-cart, .wc-block-mini-cart__drawer) table.wc-block-cart-items .wc-block-cart-items__row { grid-template-columns: 64px minmax(0, 1fr); column-gap: var(--wp--preset--spacing--20); }
    :is(.wc-block-cart, .wc-block-mini-cart__drawer) table.wc-block-cart-items .wc-block-cart-items__row > .wc-block-cart-item__image { grid-area: 1 / 1 / 3 / 2; padding: 0; }
    :is(.wc-block-cart, .wc-block-mini-cart__drawer) table.wc-block-cart-items .wc-block-cart-items__row > .wc-block-cart-item__product { grid-area: 1 / 2 / 2 / 3; min-width: 0; padding: 0; }
    :is(.wc-block-cart, .wc-block-mini-cart__drawer) table.wc-block-cart-items .wc-block-cart-items__row > .wc-block-cart-item__total { grid-area: 2 / 2 / 3 / 3; padding: var(--wp--preset--spacing--10) 0 0; justify-content: flex-end; }
    :is(.wc-block-cart, .wc-block-mini-cart__drawer) table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity { flex-wrap: wrap; gap: var(--wp--preset--spacing--10); padding-right: 0; }
    .wc-block-components-quantity-selector { width: calc(var(--wp--custom--control-min) * 3); min-height: var(--wp--custom--control-min); box-sizing: content-box; }
    .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { min-width: var(--wp--custom--control-min); min-height: var(--wp--custom--control-min); padding: 0; }
    .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input { box-sizing: border-box; min-width: 0; min-height: var(--wp--custom--control-min); height: var(--wp--custom--control-min); padding: 0; font-size: var(--wp--preset--font-size--small); }
    :is(.wc-block-cart, .wc-block-mini-cart__drawer) .wc-block-cart-item__remove-link { min-width: var(--wp--custom--control-min); min-height: var(--wp--custom--control-min); display: inline-flex; align-items: center; justify-content: center; margin: 0; }
    .wc-block-checkout .wc-block-components-checkbox label { min-height: var(--wp--custom--control-min); align-items: center; }
}

/* A small catalogue benefits from comparison, with purchase controls on demand. */
:is(.post-type-archive-product, .tax-product_cat) .wp-block-woocommerce-product-template > li.wc-block-product { display: flex; flex-direction: column; align-items: stretch; align-self: start; gap: var(--wp--preset--spacing--10); min-width: 0; }
:is(.post-type-archive-product, .tax-product_cat) .wp-block-woocommerce-product-template > li.wc-block-product > * { margin: 0; }
:is(.post-type-archive-product, .tax-product_cat) .wp-block-woocommerce-product-template > li.wc-block-product > .wp-block-post-title { font-size: var(--wp--preset--font-size--medium); line-height: 1.4; font-weight: 500; min-height: 2.8em; margin-top: var(--wp--preset--spacing--10); }
:is(.post-type-archive-product, .tax-product_cat) .wp-block-woocommerce-product-template > li.wc-block-product > .wp-block-woocommerce-product-price { font-size: var(--wp--preset--font-size--small); font-weight: 600; }
:is(.post-type-archive-product, .tax-product_cat) .wp-block-woocommerce-product-template > li.wc-block-product > .wp-block-woocommerce-product-price { margin-bottom: 0 !important; }
:is(.post-type-archive-product, .tax-product_cat) .wc-block-store-notices:has(> .woocommerce-notices-wrapper:empty) { display: none; }
:is(.post-type-archive-product, .tax-product_cat) main > .wp-block-woocommerce-product-collection { margin-top: var(--wp--preset--spacing--30); }
:is(.post-type-archive-product, .tax-product_cat) .wc-block-components-product-price { margin: 0; }
@media (min-width: 600px) and (max-width: 999px) {
    :is(.post-type-archive-product, .tax-product_cat) .wp-block-woocommerce-product-template.wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1000px) {
    :is(.post-type-archive-product, .tax-product_cat) .wp-block-woocommerce-product-template > li.wc-block-product > .wp-block-post-title { min-height: 1.4em; }
}
@media (max-width: 599px) {
    :is(.post-type-archive-product, .tax-product_cat) main { padding-top: var(--wp--preset--spacing--20); }
    :is(.post-type-archive-product, .tax-product_cat) main > .wp-block-group { margin-top: var(--wp--preset--spacing--20); }
    :is(.post-type-archive-product, .tax-product_cat) .wp-block-woocommerce-product-template.wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--wp--preset--spacing--20); row-gap: var(--wp--preset--spacing--40); }
    :is(.post-type-archive-product, .tax-product_cat) .wp-block-woocommerce-product-template > li.wc-block-product > .wp-block-post-title { font-size: var(--wp--preset--font-size--small); }
    .ropa-shop-nav ul { padding-block: 0; scrollbar-width: none; }
    .ropa-shop-nav ul::-webkit-scrollbar { display: none; }
    .ropa-shop-nav a { padding-inline: var(--wp--preset--spacing--20); }
    :is(.post-type-archive-product, .tax-product_cat) .wp-block-group:has(> .wc-block-catalog-sorting) { flex-wrap: nowrap; gap: var(--wp--preset--spacing--20); align-items: center; }
    :is(.post-type-archive-product, .tax-product_cat) .wp-block-group > .wc-block-catalog-sorting { width: 55%; flex-shrink: 0; }
    :is(.post-type-archive-product, .tax-product_cat) .woocommerce-result-count { font-size: var(--wp--preset--font-size--x-small); letter-spacing: normal; line-height: 1.4; }
    .ropa-shop-options > summary { font-size: var(--wp--preset--font-size--x-small); }
    .ropa-shop-options .ropa-size__chips { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
    .ropa-shop-options .ropa-size__chips button { padding-inline: 0; min-width: var(--wp--custom--control-min); }
    .ropa-shop-options .wp-block-button__link { padding-inline: var(--wp--preset--spacing--10); font-size: var(--wp--preset--font-size--x-small); }
}

/* Editorial spacing: separate sections, group headings with their content. */
:is(.page-id-13, .page-id-14, .page-id-82) main > .wp-block-group.alignfull {
    margin-block: 0;
}
.wp-block-heading + .ropa-step-grid {
    margin-block-start: var(--wp--preset--spacing--40);
}
/* These two pattern paragraphs explicitly set zero inline margins. */
.ropa-step-grid + p.is-style-ropa-meta {
    margin-block-start: var(--wp--preset--spacing--30) !important;
}
.page-id-82 main > .has-cream-deep-background-color > h2 + p {
    margin-block-start: var(--wp--preset--spacing--20) !important;
}
@media (max-width: 599px) {
    :is(.page-id-13, .page-id-14, .page-id-82) main > .wp-block-group.alignfull {
        --wp--preset--spacing--80: var(--wp--preset--spacing--60);
    }
    .home .ropa-section-head + :is(.ropa-category-grid, .wp-block-columns),
    .home #zgodba > .wp-block-columns,
    .home .ropa-parcel,
    .home #kamni > .ropa-rail,
    .home #kamni > .wp-block-buttons {
        margin-block-start: var(--wp--preset--spacing--40);
    }
    .home main > .wp-block-group:has(.ropa-care-methods) > .wp-block-columns {
        gap: var(--wp--preset--spacing--40);
    }
    :is(.page-id-13, .page-id-14, .page-id-82) :is(.ropa-stone-list, .ropa-care-grid, .ropa-method-grid, .ropa-sizes) {
        margin-block-start: var(--wp--preset--spacing--40);
    }
    .ropa-care-grid { gap: var(--wp--preset--spacing--30); }
    .ropa-method-grid { grid-template-columns: minmax(0, 1fr); }
    body.page:not(.home) main:has(> .wp-block-post-content) {
        padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60) !important;
    }
    body.page:not(.home) main > h1 + .wp-block-separator,
    body.page:not(.home) main > .wp-block-separator + .wp-block-post-content {
        margin-block-start: var(--wp--preset--spacing--40);
    }
    .ropa-policy h2 { margin-block-start: var(--wp--preset--spacing--50); }
}
