/*
Theme Name: Arteva International
Theme URI: https://shop.artevastories.com/
Description: Storefront for the Arteva Stories international store (English, US dollars, Singapore and Malaysia). Direction D: cool silver ground, Fraunces headings, Inter body, frosted-glass header and panels, soft mocha CTA, thin glass product cards, editorial product grid. Classic theme so WooCommerce uses its PHP templates and the [woocommerce_cart] / [woocommerce_checkout] shortcodes.
Author: Arteva Stories
Version: 1.5.103
Requires at least: 6.5
Requires PHP: 7.4
WC requires at least: 9.0
Text Domain: arteva-intl
License: Proprietary
*/

/* ---------- Tokens ---------- */
:root {
  --ai-ink: #1d2025;
  --ai-muted: #4b5159;
  --ai-label: #5d6a7e;
  /* Accent: soft mocha, lighter than walnut so it reads elegant (Owner, 29 Oct; was Apple-like blue). Names kept. */
  --ai-blue: #8a6a57;
  --ai-blue-deep: #6f5040;
  --ai-blue-tint: #f6f0eb;
  --ai-line: rgb(177 183 191 / .6);
  --ai-field: #c8cbd0;
  --ai-seg: #edf1f7;
  --ai-danger: #b3261e;
  --ai-ok: #1b6e3a;
  --ai-serif: Fraunces, Georgia, "Times New Roman", serif;
  --ai-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --ai-gutter: clamp(16px, 2.2vw, 36px);
  --ai-max: none;
  --ai-r-lg: 28px;
  --ai-r-md: 22px;
  --ai-r-sm: 14px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.arteva-intl {
  margin: 0;
  font-family: var(--ai-sans);
  font-size: 15px;
  line-height: 1.55;
  letter-spacing: -0.008em;
  color: var(--ai-ink);
  background-color: #e9ebee;
  background-image:
    radial-gradient(1100px 620px at 12% -5%, rgb(255 255 255 / .95), rgb(255 255 255 / 0)),
    radial-gradient(900px 560px at 95% 35%, rgb(214 222 234 / .9), rgb(214 222 234 / 0)),
    linear-gradient(160deg, #dfe2e7, #f1f2f4 48%, #d9dde3);
  background-attachment: fixed;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
.arteva-intl img { max-width: 100%; height: auto; }
.arteva-intl a { color: var(--ai-ink); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.arteva-intl a:hover { color: var(--ai-blue); }
.arteva-intl :focus-visible { outline: 2px solid var(--ai-blue); outline-offset: 2px; border-radius: 6px; }
.arteva-intl h1, .arteva-intl h2, .arteva-intl h3 {
  font-family: var(--ai-serif);
  font-weight: 300;
  letter-spacing: -0.015em;
  line-height: 1.04;
  margin: 0 0 .4em;
}
.arteva-intl p { margin: 0 0 1em; }
.ai-skip { position: absolute; left: -9999px; top: 8px; z-index: 100; padding: 10px 14px; border-radius: 10px; background: #fff; }
.ai-skip:focus { left: 8px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

.ai-wrap { max-width: var(--ai-max); margin: 0 auto; padding-left: var(--ai-gutter); padding-right: var(--ai-gutter); }
.ai-eyebrow { display: block; font-size: 10.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ai-label); }

/* ---------- Surfaces ---------- */
.ai-glass {
  background: linear-gradient(135deg, rgb(255 255 255 / .72), rgb(240 242 246 / .46));
  border: 1px solid rgb(255 255 255 / .82);
  -webkit-backdrop-filter: blur(26px) saturate(140%);
  backdrop-filter: blur(26px) saturate(140%);
  box-shadow: 0 15px 37px rgb(31 40 55 / .14), inset 0 1px 0 rgb(255 255 255 / .9);
}
.ai-glass-dark {
  background: linear-gradient(135deg, rgb(24 28 34 / .46), rgb(24 28 34 / .22));
  border: 1px solid rgb(255 255 255 / .28);
  -webkit-backdrop-filter: blur(22px) saturate(140%);
  backdrop-filter: blur(22px) saturate(140%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .25);
  color: #fff;
}
@media (prefers-reduced-transparency: reduce) {
  .ai-glass { background: #f6f8fb; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .ai-glass-dark { background: rgb(24 28 34 / .78); -webkit-backdrop-filter: none; backdrop-filter: none; }
}

/* ---------- Buttons ---------- */
.ai-cta,
.arteva-intl .button.alt,
.arteva-intl button.single_add_to_cart_button,
.arteva-intl .checkout-button,
.arteva-intl #place_order {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 0 24px;
  border-radius: 999px;
  border: 1px solid rgb(255 255 255 / .6);
  background: linear-gradient(180deg, rgb(176 142 121 / .96), rgb(138 104 84 / .96));
  /* Text sits on the darker lower half; the shadow keeps 4.5:1 against the light top. */
  color: #fff; text-shadow: 0 1px 2px rgb(70 45 30 / .4);
  font: 650 14.5px/1 var(--ai-sans); letter-spacing: -0.005em; text-decoration: none;
  box-shadow: 0 10px 24px -10px rgb(138 104 84 / .6), inset 0 1px 0 rgb(255 255 255 / .6);
  cursor: pointer; transition: filter .15s ease, transform .15s ease;
}
.ai-cta:hover,
.arteva-intl .button.alt:hover,
.arteva-intl button.single_add_to_cart_button:hover,
.arteva-intl .checkout-button:hover,
.arteva-intl #place_order:hover { color: #fff; filter: brightness(.95); }
.ai-cta:active, .arteva-intl button.single_add_to_cart_button:active { transform: translateY(1px); }
/* Blue buttons that are links keep white text (the general link colour would otherwise win). */
.arteva-intl a.ai-cta, .arteva-intl a.ai-cta:hover, .arteva-intl a.ai-cta:visited { color: #fff; }
.arteva-intl button.single_add_to_cart_button.disabled,
.arteva-intl button.single_add_to_cart_button:disabled { filter: grayscale(.6) opacity(.55); cursor: not-allowed; }
.ai-cta--lg { min-height: 54px; padding: 0 28px; font-size: 15px; }

.arteva-intl .button:not(.alt):not(.checkout-button),
.ai-btn-ghost {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 0 18px; border-radius: 999px;
  border: 1px solid var(--ai-field); background: rgb(255 255 255 / .85);
  color: var(--ai-ink); font: 600 13.5px/1 var(--ai-sans); text-decoration: none; cursor: pointer;
}
.arteva-intl .button:not(.alt):not(.checkout-button):hover, .ai-btn-ghost:hover { border-color: var(--ai-blue); color: var(--ai-blue-deep); }
.arteva-intl .button:disabled, .arteva-intl .button.disabled { opacity: .5; cursor: not-allowed; }

/* ---------- Header ---------- */
.ai-header-wrap { position: sticky; top: 0; z-index: 60; padding-top: 12px; pointer-events: none; }
.ai-header {
  pointer-events: auto;
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px;
  border-radius: 20px; padding: 10px 10px 10px 20px;
}
.ai-logo { display: inline-flex; align-items: center; min-height: 44px; }
.ai-logo img { display: block; height: 30px; width: auto; }
.ai-nav { flex: 1 1 320px; display: flex; justify-content: center; }
.ai-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 2px; justify-content: center; }
.ai-nav a {
  display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 12px;
  font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; color: var(--ai-ink);
}
.ai-nav a:hover, .ai-nav .current-menu-item > a, .ai-nav a[aria-current="page"] { background: rgb(255 255 255 / .7); color: var(--ai-blue-deep); }
.ai-actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.ai-ships {
  display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 12px; border-radius: 10px;
  background: rgb(237 241 247 / .85); font-size: 12px; font-weight: 600; color: var(--ai-muted); white-space: nowrap;
}
.ai-ships svg { width: 14px; height: 14px; }
.ai-bag { min-height: 44px; padding: 0 18px; font-size: 13px; }
.ai-bag-count {
  display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px;
  background: rgb(255 255 255 / .9); color: var(--ai-blue-deep); text-shadow: none; font-size: 12px; font-weight: 700;
}

@media (max-width: 1100px) {
  /* Tablet and phone: logo and bag on the first row, categories on a second row that scrolls sideways inside itself. */
  .ai-ships { display: none; }
  .ai-header { gap: 4px 12px; padding-bottom: 6px; }
  .ai-nav { order: 3; flex: 1 0 100%; overflow-x: auto; scrollbar-width: none; max-height: 52px; transition: max-height .25s ease, opacity .2s ease; }
  .ai-nav::-webkit-scrollbar { display: none; }
  .ai-nav ul { flex-wrap: nowrap; }
  .ai-nav a { white-space: nowrap; min-height: 44px; }
  /* After scrolling down the category row folds away so the sticky bar stays small. */
  .ai-header-wrap.is-compact .ai-nav { max-height: 0; opacity: 0; visibility: hidden; }
  /* Tablet and phone: the categories open from a menu button beside Bag, so logo, wishlist, search and Bag stay on
     one row instead of a second, sideways-scrolling row (Owner, 29 Oct). */
  .ai-header .ai-nav { display: none; }
  .ai-header.is-menu-open .ai-nav { display: block; max-height: none; opacity: 1; visibility: visible; overflow: visible; margin: 6px -2px 2px; padding-top: 6px; border-top: 1px solid rgb(177 183 191 / .35); }
  .ai-header.is-menu-open .ai-nav ul { flex-direction: column; flex-wrap: nowrap; gap: 0; }
  .ai-header.is-menu-open .ai-nav a { display: flex; align-items: center; min-height: 48px; padding: 0 10px; border-radius: 12px; font-size: 13px; letter-spacing: .08em; }
  .ai-header { padding-bottom: 10px; }
  .ai-actions .ai-menu-toggle { display: grid; }
}
@media (max-width: 767px) {
  .ai-header { padding: 8px 8px 6px 14px; gap: 4px 10px; border-radius: 18px; }
  .ai-logo img { height: 24px; }
  .ai-ships { display: none; }
  .ai-nav { justify-content: flex-start; margin: 0 -2px; }
  .ai-nav ul { justify-content: flex-start; }
  .ai-nav a { padding: 0 12px; font-size: 11.5px; }
  .ai-actions .ai-wish-head, .ai-actions .ai-account-head { display: none; }
}
.ai-nav-mobile { display: none; }
@media (max-width: 767px) { .ai-nav-mobile { display: list-item; } }
.ai-menu-toggle { display: none; place-content: center; gap: 4px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 12px; background: rgb(237 241 247 / .85); color: var(--ai-ink); cursor: pointer; }
.ai-menu-toggle span { display: block; width: 18px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.ai-menu-toggle[aria-expanded="true"] { background: #fff; }
.ai-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.ai-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.ai-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* ---------- Main ---------- */
.ai-main { padding-top: 28px; padding-bottom: 72px; min-height: 50vh; }
.ai-page-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 16px 24px; margin: 24px 0 28px; }
.ai-page-head h1, .arteva-intl .woocommerce-products-header__title, .ai-page-title {
  font-size: clamp(38px, 5vw, 64px); line-height: 1; margin: 6px 0 0;
}
.ai-card { border-radius: var(--ai-r-md); padding: clamp(20px, 3vw, 36px); }
.ai-prose { max-width: 760px; font-size: 16px; line-height: 1.7; color: #33383f; }
.ai-prose h2 { font-size: 30px; margin-top: 1.4em; }
.ai-prose h3 { font-size: 22px; margin-top: 1.2em; }
.ai-prose ul, .ai-prose ol { padding-left: 1.2em; }

/* ---------- Home (same section order as the Indonesian home page: hero, features, best sellers, collections, living, latest, craft, frame, reviews, closing) ---------- */
.home .ai-main { padding-top: 0; padding-bottom: 0; }
.ai-announce { position: relative; z-index: 61; margin: 0; padding: 8px var(--ai-gutter); text-align: center; font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #eef1f5; background: #2a3039; }

.ai-hero-wrap { margin-top: -110px; }
.ai-hero { position: relative; overflow: hidden; height: clamp(600px, 92vh, 900px); background: #c9ced6; }
.ai-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 38%; }
.ai-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(14 18 24 / .58), rgb(14 18 24 / .18) 55%, rgb(14 18 24 / 0)); pointer-events: none; }
.ai-hero-copy { position: absolute; z-index: 1; left: var(--ai-gutter); right: var(--ai-gutter); bottom: clamp(88px, 12vh, 140px); max-width: 720px; display: flex; flex-direction: column; gap: 18px; color: #fff; }
.ai-hero h1 { margin: 0; color: #fff; font-size: clamp(44px, 6.4vw, 98px); line-height: .96; letter-spacing: -0.025em; text-wrap: balance; }
.ai-hero h1 em, .ai-h-em { font-style: italic; font-weight: 300; }
.ai-hero-copy > p { margin: 0; max-width: 460px; font-size: 16.5px; line-height: 1.55; color: rgb(255 255 255 / .92); }
.ai-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.ai-link-light { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px; color: #fff !important; font-weight: 600; font-size: 14px; text-decoration: none; }
.ai-link-light:hover { background: rgb(255 255 255 / .14); }

.ai-features { position: relative; z-index: 2; margin-top: -64px; border-radius: var(--ai-r-md); padding: 20px clamp(18px, 2.4vw, 32px); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px 24px; }
.ai-feature { display: flex; gap: 14px; align-items: center; min-width: 0; }
.ai-feature svg { flex: 0 0 40px; width: 40px; height: 40px; padding: 9px; border-radius: 12px; background: rgb(255 255 255 / .8); color: var(--ai-blue); }
.ai-feature strong { display: block; font-size: 14.5px; font-weight: 650; }
.ai-feature span { display: block; font-size: 12.5px; color: var(--ai-muted); }

.ai-section { padding-top: clamp(64px, 7vw, 104px); }
.ai-section-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 16px; margin-bottom: 32px; }
.ai-section-head h2 { font-size: clamp(36px, 4.2vw, 64px); line-height: 1; margin: 8px 0 0; text-wrap: balance; }
.ai-section-head p { margin: 10px 0 0; max-width: 520px; color: var(--ai-muted); }
.ai-section-foot { margin-top: 32px; display: flex; justify-content: center; }

.ai-chips { display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 3px; border-radius: 13px; background: rgb(255 255 255 / .6); border: 1px solid rgb(255 255 255 / .85); }
.ai-chips a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 10px; font-size: 13px; font-weight: 500; color: var(--ai-muted); text-decoration: none; }
.ai-chips a:hover { color: var(--ai-blue-deep); }
.ai-chips a.is-active { background: #fff; color: var(--ai-blue-deep); font-weight: 650; box-shadow: 0 1px 3px rgb(31 53 88 / .12); }
@media (max-width: 767px) {
  /* Chips wrap onto a second row instead of being cut off at the screen edge (Owner, 29 Oct). */
  .ai-chips { display: flex; flex-wrap: wrap; gap: 4px; max-width: 100%; }
  .ai-chips a { white-space: nowrap; min-height: 40px; padding: 0 12px; }
}

/* Best sellers */
.ai-best { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.ai-best-card { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 10px 10px 16px; border-radius: var(--ai-r-md); background: #fff; text-decoration: none; color: var(--ai-ink); box-shadow: 0 12px 29px rgb(31 40 55 / .10); transition: box-shadow .2s ease; }
.arteva-intl .ai-best-card:hover { color: var(--ai-ink); box-shadow: 0 18px 38px rgb(31 40 55 / .16); }
.ai-best-card img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: calc(var(--ai-r-md) - 4px); display: block; }
.ai-best-card .ai-tag { position: absolute; top: 20px; left: 20px; }
.ai-best-card .ai-eyebrow { padding: 4px 8px 0; }
.ai-best-card h3 { margin: 0; padding: 0 8px; font-size: 17px; font-weight: 400; line-height: 1.25; }
.ai-best-card .ai-more { padding: 0 8px; font-size: 13px; font-weight: 600; color: var(--ai-blue-deep); }
.ai-tag { padding: 6px 12px; border-radius: 10px; font-size: 11.5px; font-weight: 700; letter-spacing: .04em; color: var(--ai-ink); background: linear-gradient(135deg, rgb(255 255 255 / .82), rgb(240 242 246 / .6)); border: 1px solid rgb(255 255 255 / .85); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }

/* Collections: photo tiles with a glass label. --focus (home-content.json) sets which part of each photo stays in view, so the artwork is not cut off at the top. */
.ai-cols { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 22px; }
.ai-col { position: relative; display: block; overflow: hidden; border-radius: 26px; min-height: 420px; text-decoration: none; background: #c9ced6; }
.ai-col--wide { grid-column: 1 / -1; min-height: 460px; }
.ai-col img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--focus, center); transition: transform .6s ease; transform-origin: var(--focus, center); }
.ai-col:hover img { transform: scale(1.03); }
.ai-col-label { position: absolute; left: 20px; bottom: 20px; right: 20px; max-width: 380px; padding: 14px 18px; border-radius: 16px; color: var(--ai-ink); display: flex; flex-direction: column; gap: 2px; }
.ai-col-label strong { font-family: var(--ai-serif); font-weight: 400; font-size: 24px; line-height: 1.1; }
.ai-col-label span { font-size: 13px; color: var(--ai-muted); }

/* Living: an endless strip of real rooms that drifts on its own (assets/intl.js). Drag with the mouse or swipe to move it either way; it wraps from the last photo back to the first. */
.ai-living-head { text-align: center; margin-bottom: 32px; padding: 0 var(--ai-gutter); }
.ai-living-head h2 { font-size: clamp(36px, 4.2vw, 64px); margin: 8px 0 0; }
.ai-living-window { overflow: hidden; padding: 6px 0 18px; cursor: grab; touch-action: pan-y; -webkit-user-select: none; user-select: none; }
.ai-living-window.is-dragging { cursor: grabbing; }
.ai-living-track { display: flex; width: max-content; will-change: transform; }
.ai-living-group { display: flex; gap: 16px; padding-right: 16px; align-items: center; }
.ai-living-card { flex: 0 0 auto; height: clamp(300px, 34vw, 460px); border-radius: 22px; overflow: hidden; background: #c9ced6; box-shadow: 0 14px 30px rgb(31 40 55 / .12); }
.ai-living-card img { display: block; height: 100%; width: auto; max-width: none; pointer-events: none; }

/* Craft */
.ai-about { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.ai-about-media { position: relative; margin-bottom: 28px; }
.ai-about-media > img:not(.ai-about-small) { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 26px; display: block; }
.ai-about-media > .ai-about-small { position: absolute; right: -14px; bottom: -28px; width: 34%; padding: 7px; border-radius: 22px; background: linear-gradient(135deg, rgb(255 255 255 / .42), rgb(236 240 246 / .22)); border: 1px solid rgb(255 255 255 / .7); -webkit-backdrop-filter: blur(18px) saturate(150%); backdrop-filter: blur(18px) saturate(150%); box-shadow: 0 18px 38px rgb(31 40 55 / .2), inset 0 1px 0 rgb(255 255 255 / .8); }
.ai-about-small img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 15px; }
.ai-trust { position: absolute; left: 18px; bottom: 18px; padding: 14px 18px; border-radius: 16px; }
.ai-trust span { display: block; font-size: 12px; color: var(--ai-muted); }
.ai-trust strong { display: block; font-family: var(--ai-serif); font-weight: 400; font-size: 24px; line-height: 1.15; }
.ai-about-copy h2 { font-size: clamp(36px, 4.2vw, 60px); margin: 8px 0 18px; }
.ai-about-copy p { color: #3f454d; max-width: 560px; }
.ai-specs { margin: 26px 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; border-top: 1px solid var(--ai-line); }
.ai-specs div { padding: 14px 0; border-bottom: 1px solid var(--ai-line); }
.ai-specs dt { font-size: 10.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ai-label); }
.ai-specs dd { margin: 4px 0 0; font-size: 14.5px; }

/* Frame detail */
.ai-frame { border-radius: var(--ai-r-lg); padding: clamp(20px, 3vw, 40px); }
.ai-frame-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 18px; margin-bottom: 26px; }
.ai-frame-head h2 { font-size: clamp(36px, 4.2vw, 60px); margin: 0; }
.ai-frame-head p { margin: 6px 0 0; color: var(--ai-muted); }
.ai-seg { display: inline-flex; gap: 4px; padding: 4px; border-radius: 14px; background: var(--ai-seg); }
.ai-seg button { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border: 0; border-radius: 10px; background: transparent; font: 500 14px var(--ai-sans); color: var(--ai-muted); cursor: pointer; }
.ai-seg button[aria-selected="true"] { background: #fff; color: var(--ai-blue-deep); font-weight: 650; box-shadow: 0 1px 3px rgb(31 53 88 / .16); }
.ai-seg i { width: 12px; height: 12px; border-radius: 50%; box-shadow: 0 0 0 1px rgb(0 0 0 / .18); }
.ai-frame-panel { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(20px, 3vw, 40px); align-items: center; animation: ai-fade .45s ease both; }
.ai-frame-panel[hidden] { display: none; }
.ai-frame-shot { position: relative; border-radius: 22px; overflow: hidden; background: #f3f4f6; }
.ai-frame-shot img { display: block; width: 100%; height: auto; }
.ai-dim { position: absolute; padding: 8px 12px; border-radius: 12px; font-size: 12px; color: var(--ai-muted); line-height: 1.2; }
.ai-dim strong { display: block; font-size: 20px; font-weight: 650; color: var(--ai-ink); }
.ai-dim--front { left: 34%; top: 12%; }
.ai-dim--side { right: 12%; bottom: 16%; }
.ai-frame-info h3 { font-size: clamp(30px, 3vw, 44px); margin: 6px 0 8px; }
.ai-frame-info p { color: var(--ai-muted); margin: 0; }
.ai-steps { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ai-steps li { display: flex; flex-direction: column; gap: 6px; padding: 8px; border-radius: 16px; background: rgb(255 255 255 / .75); font-size: 12.5px; color: var(--ai-muted); }
.ai-steps img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; }
.ai-steps strong { font-size: 13.5px; color: var(--ai-ink); }
.ai-steps b { font-weight: 700; color: var(--ai-blue); margin-right: 4px; }
.ai-frame-info .ai-flow { margin-top: 14px; font-size: 12.5px; }
@keyframes ai-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* Reviews */
.ai-reviews-bar { display: flex; gap: 8px; }
.ai-round { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--ai-field); background: rgb(255 255 255 / .85); color: var(--ai-ink); cursor: pointer; }
.ai-round:hover { border-color: var(--ai-blue); color: var(--ai-blue-deep); }
.ai-round svg { width: 18px; height: 18px; }
.ai-reviews { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 4px 2px 18px; scrollbar-width: none; }
.ai-reviews::-webkit-scrollbar { display: none; }
.ai-review { flex: 0 0 clamp(220px, 17vw, 260px); scroll-snap-align: start; display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 10px 10px 14px; border-radius: 18px; background: #fff; box-shadow: 0 10px 24px rgb(31 40 55 / .08); }
.ai-review-photo { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 12px; display: block; }
.ai-review-src { padding: 0 4px; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ai-label); }
.ai-review-src span { display: block; margin-top: 2px; letter-spacing: 0; text-transform: none; font-size: 12.5px; font-weight: 600; color: var(--ai-ink); }
.ai-stars { padding: 0 4px; color: #a8720a; letter-spacing: .12em; font-size: 12.5px; }
.ai-review blockquote { margin: 0; padding: 0 4px; font-family: var(--ai-serif); font-size: 14.5px; line-height: 1.45; flex: 1 1 auto; }
.ai-review figcaption { display: flex; align-items: center; gap: 8px; padding: 10px 4px 0; border-top: 1px solid var(--ai-line); font-size: 12px; color: var(--ai-muted); }
.ai-review figcaption strong { color: var(--ai-ink); font-weight: 650; margin-right: 6px; }
.ai-review-avatar { flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; object-fit: cover; }
.ai-note { margin: 12px 0 0; font-size: 12.5px; color: var(--ai-label); }

/* Closing band */
.ai-closing { margin-top: clamp(64px, 7vw, 104px); margin-bottom: 28px; border-radius: var(--ai-r-lg); padding: clamp(36px, 6vw, 80px) var(--ai-gutter); text-align: center; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.ai-closing h2 { font-size: clamp(34px, 4.4vw, 64px); margin: 0; max-width: 900px; text-wrap: balance; }
.ai-closing p { margin: 0; max-width: 520px; color: var(--ai-muted); }
.ai-closing-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 8px; }

@media (max-width: 1100px) {
  .ai-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ai-best { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ai-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ai-col--tall { grid-column: 1 / -1; min-height: 520px; }
  .ai-frame-panel { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .ai-hero-wrap { margin-top: -150px; }
  .ai-hero { height: clamp(560px, 86svh, 760px); }
  .ai-hero::after { background: linear-gradient(0deg, rgb(14 18 24 / .72), rgb(14 18 24 / .1) 70%); }
  .ai-hero-copy { bottom: 88px; }
  .ai-features { margin-top: -56px; padding: 16px; gap: 14px; }
  .ai-feature { flex-direction: column; align-items: flex-start; gap: 8px; }
  .ai-best { gap: 12px; }
  .ai-best-card { padding: 7px 7px 12px; border-radius: 18px; }
  .ai-best-card h3 { font-size: 14.5px; }
  .ai-best-card .ai-tag { top: 14px; left: 14px; }
  .ai-cols { grid-template-columns: 1fr; }
  .ai-col, .ai-col--tall { min-height: 340px; }
  .ai-col--wide { min-height: 240px; }
  .ai-col-label { left: 14px; right: 14px; bottom: 14px; padding: 12px 14px; }
  .ai-col-label strong { font-size: 21px; }
  .ai-about { grid-template-columns: 1fr; }
  .ai-about-media > .ai-about-small { right: 8px; bottom: -20px; width: 36%; }
  .ai-trust { left: 12px; bottom: 12px; max-width: 56%; padding: 10px 12px; }
  .ai-trust strong { font-size: 17px; }
  .ai-specs { grid-template-columns: 1fr; }
  .ai-steps { grid-template-columns: 1fr 1fr; }
  .ai-frame-shot { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 10px; background: transparent; }
  .ai-frame-shot img { border-radius: 18px; }
  .ai-dim { position: static; background: rgb(255 255 255 / .8); }
  .ai-dim strong { font-size: 16px; }
  .ai-review { flex-basis: 66%; }
}

/* ---------- Product grid (shop, category, home, related) ---------- */
.arteva-intl ul.products {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 22px;
}
.arteva-intl ul.products::before, .arteva-intl ul.products::after { content: none; display: none; }
.arteva-intl ul.products li.product {
  float: none; width: auto; margin: 0; padding: 4px; position: relative;
  border-radius: var(--ai-r-md);
  background: linear-gradient(160deg, rgb(255 255 255 / .62), rgb(240 243 247 / .34));
  border: 1px solid rgb(255 255 255 / .75);
  -webkit-backdrop-filter: blur(18px) saturate(140%); backdrop-filter: blur(18px) saturate(140%);
  box-shadow: 0 10px 26px rgb(31 40 55 / .08), inset 0 1px 0 rgb(255 255 255 / .85);
  transition: box-shadow .2s ease, transform .2s ease;
}
/* WooCommerce's own layout CSS floats cards at 48%/22% (".woocommerce ul.products[class*=columns-] li.product");
   the grid places them here, so cancel that, plus its clearfix pseudo-elements that would take a grid cell. */
body.arteva-intl ul.products[class*="columns-"] li.product, body.arteva-intl ul.products li.product { float: none; width: auto; margin: 0; clear: none; }
body.arteva-intl ul.products::before, body.arteva-intl ul.products::after { content: none; display: none; }
/* Same for WooCommerce's general sheet on the product page: gallery, summary and thumbnails follow the theme grid. */
body.arteva-intl div.product div.images.woocommerce-product-gallery, body.arteva-intl div.product div.summary.entry-summary { float: none; width: auto; margin: 0; }
body.arteva-intl div.product div.images .flex-control-thumbs li { width: auto; float: none; margin: 0; }
body.arteva-intl div.product form.cart div.quantity { float: none; margin: 0; }
body.arteva-intl div.product form.cart .reset_variations { font-size: 12.5px; }
/* WooCommerce paints buttons purple (background-color) under our translucent mocha gradient. */
body.arteva-intl .button.alt, body.arteva-intl button.button.alt, body.arteva-intl a.button.alt, body.arteva-intl input.button.alt,
body.arteva-intl .button.alt:hover, body.arteva-intl button.button.alt:hover, body.arteva-intl a.button.alt:hover,
body.arteva-intl .button.alt.disabled, body.arteva-intl button.button.alt.disabled, body.arteva-intl button.button.alt:disabled,
body.arteva-intl #place_order, body.arteva-intl a.checkout-button { background-color: transparent; }
/* The zoom button is the theme's 44px glass square, not WooCommerce's 36px circle. */
body.arteva-intl div.product div.images .woocommerce-product-gallery__trigger { top: 14px; right: 14px; width: 44px; height: 44px; border-radius: 12px; background: rgb(255 255 255 / .8); font-size: 0; text-indent: 0; box-sizing: border-box; }
body.arteva-intl div.product div.images .woocommerce-product-gallery__trigger::before { content: ""; position: static; display: block; width: 14px; height: 14px; border: 2px solid var(--ai-ink); border-radius: 50%; box-sizing: content-box; transform: translate(-2px, -2px); }
body.arteva-intl div.product div.images .woocommerce-product-gallery__trigger::after { content: ""; position: absolute; top: 27px; left: 26px; width: 7px; height: 2px; border: 0; border-radius: 2px; background: var(--ai-ink); transform: rotate(45deg); box-sizing: content-box; }
.arteva-intl ul.products li.product:hover { box-shadow: 0 18px 38px rgb(31 40 55 / .16); }
.arteva-intl ul.products li.product a.woocommerce-LoopProduct-link {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; text-decoration: none; color: var(--ai-ink);
}
.arteva-intl ul.products li.product a img {
  grid-column: 1 / -1; display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 15px; margin: 0; background: #eef0f3;
}
.arteva-intl ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--ai-serif); font-weight: 400; font-size: 16px; line-height: 1.25; letter-spacing: -0.01em; margin: 4px 0 0; padding: 0 8px;
}
.arteva-intl ul.products li.product .price { font-size: 13px; color: var(--ai-muted); padding: 0 8px 8px; }
.arteva-intl .ai-from { margin-right: 4px; }
.arteva-intl ul.products li.product .price del { opacity: .6; }
.arteva-intl ul.products li.product .price ins { text-decoration: none; color: var(--ai-ink); font-weight: 600; }
.arteva-intl ul.products li.product .onsale,
.arteva-intl span.onsale {
  position: absolute; top: 20px; left: 20px; z-index: 2; min-height: 0; min-width: 0; margin: 0;
  padding: 6px 12px; border-radius: 10px; line-height: 1.2; font-size: 11.5px; font-weight: 700; letter-spacing: .04em;
  color: var(--ai-ink);
  background: linear-gradient(135deg, rgb(255 255 255 / .78), rgb(240 242 246 / .55));
  border: 1px solid rgb(255 255 255 / .85);
  -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
}
.arteva-intl ul.products li.product .star-rating { display: none; }

/* Level grid (Owner, 29 Oct 2026): every card in a row is as tall as the tallest, and prices sit on one line.
   Three columns at 1000-1199px, four from 1200px. */
@media (min-width: 1200px) {
  .arteva-intl ul.products.columns-3, .arteva-intl ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.arteva-intl ul.products { align-items: stretch; }
.arteva-intl ul.products li.product { display: flex; flex-direction: column; }
.arteva-intl ul.products li.product a.woocommerce-LoopProduct-link { flex: 1 1 auto; grid-template-rows: auto 1fr; }
.arteva-intl ul.products li.product .woocommerce-loop-product__title { align-self: start; }
.arteva-intl ul.products .ai-fill { list-style: none; display: grid; place-items: center; padding: 28px 24px; text-align: center; border-radius: var(--ai-r-md);
  background: linear-gradient(160deg, rgb(255 255 255 / .62), rgb(240 243 247 / .34)); border: 1px solid rgb(255 255 255 / .75);
  -webkit-backdrop-filter: blur(18px) saturate(140%); backdrop-filter: blur(18px) saturate(140%);
  box-shadow: 0 10px 26px rgb(31 40 55 / .08), inset 0 1px 0 rgb(255 255 255 / .85); }
.ai-fill div { display: grid; gap: 10px; justify-items: center; max-width: 340px; }
.ai-fill strong { font-family: var(--ai-serif); font-weight: 400; font-size: 22px; line-height: 1.25; color: var(--ai-ink); }
.ai-fill p { margin: 0 0 6px; font-size: 13.5px; line-height: 1.55; color: var(--ai-muted); }
.ai-fill .ai-cta { white-space: nowrap; }
@media (max-width: 999px) { .ai-fill strong { font-size: 17px; } .ai-fill p { font-size: 12.5px; } .arteva-intl ul.products .ai-fill { padding: 18px 12px; border-radius: 18px; } }
@media (max-width: 999px) {
  .arteva-intl ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 14px; }
  .arteva-intl ul.products li.product { padding: 4px; border-radius: 18px; }
  .arteva-intl ul.products li.product a img { border-radius: 14px; }
  .arteva-intl ul.products li.product a.woocommerce-LoopProduct-link { grid-template-columns: 1fr; gap: 8px; }
  .arteva-intl ul.products li.product .woocommerce-loop-product__title { font-size: 14.5px; padding: 0 4px; }
  .arteva-intl ul.products li.product .price { text-align: left; padding: 0 4px 6px; white-space: normal; }
}

/* Shop toolbar */
.arteva-intl .woocommerce-products-header { margin: 24px 0 8px; }
.arteva-intl .term-description, .arteva-intl .page-description { max-width: 640px; color: var(--ai-muted); }
.arteva-intl .woocommerce-products-header__title { margin-bottom: 6px; }
.ai-archive-count { margin: 6px 0 0; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ai-label); }
.ai-shop-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin: 22px 0 30px; padding: 8px; border-radius: 18px; }
.ai-shop-bar .ai-chips { background: transparent; border: 0; padding: 0; min-width: 0; }
.ai-shop-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-left: auto; }
.arteva-intl .woocommerce-result-count { display: none; }
.arteva-intl .woocommerce-ordering { margin: 0; }
.arteva-intl .woocommerce-ordering select { min-height: 44px; border-radius: 12px; background-color: #fff; font-size: 14px; }

/* Product search (toolbar and header): one field with the button inside. */
.ai-search { position: relative; display: flex; align-items: center; width: 280px; max-width: 100%; }
.arteva-intl .ai-search input[type="search"] { min-height: 44px; padding: 0 48px 0 16px; border-radius: 12px; background: #fff; font-size: 14px; }
.ai-search input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
.ai-search button { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 38px; height: 38px; border: 0; border-radius: 10px; color: #fff; background: linear-gradient(180deg, rgb(176 142 121 / .96), rgb(138 104 84 / .96)); cursor: pointer; }
.ai-search button svg { width: 18px; height: 18px; }
.ai-search button:hover { filter: brightness(.95); }
.ai-search-toggle { display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 12px; background: rgb(237 241 247 / .85); color: var(--ai-ink); cursor: pointer; }
.ai-search-toggle svg { width: 19px; height: 19px; }
.ai-search-toggle[aria-expanded="true"] { background: #fff; color: var(--ai-blue-deep); }
.ai-search-panel { pointer-events: auto; margin-top: 8px; padding: 10px; border-radius: 18px; }
.ai-search-panel[hidden] { display: none; }
.ai-search-panel .ai-search { width: 100%; }

/* Archive cards: price and "6 sizes" share one row. */
.post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link,
.tax-product_cat ul.products li.product a.woocommerce-LoopProduct-link,
.search ul.products li.product a.woocommerce-LoopProduct-link { grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; row-gap: 6px; }
.post-type-archive-product ul.products li.product a > :not(.price):not(.ai-sizes),
.tax-product_cat ul.products li.product a > :not(.price):not(.ai-sizes),
.search ul.products li.product a > :not(.price):not(.ai-sizes) { grid-column: 1 / -1; }
.post-type-archive-product ul.products li.product .ai-sizes,
.tax-product_cat ul.products li.product .ai-sizes,
.search ul.products li.product .ai-sizes { padding: 0 8px 10px 0; text-align: right; }
.post-type-archive-product ul.products li.product .price,
.tax-product_cat ul.products li.product .price,
.search ul.products li.product .price { padding-bottom: 10px; }
.arteva-intl .woocommerce-info.woocommerce-no-products-found { justify-content: center; }

/* Tablet and phone: chips on one sideways-scrolling row, then search and sort on a second row. */
@media (max-width: 1100px) {
  .ai-shop-bar .ai-chips { flex: 1 0 100%; display: flex; flex-wrap: wrap; gap: 4px; }
  .ai-shop-bar .ai-chips a { white-space: nowrap; }
  .ai-shop-tools { flex: 1 0 100%; display: grid; grid-template-columns: minmax(0, 1fr) 220px; margin-left: 0; }
  .ai-search { width: auto; }
  .arteva-intl .ai-shop-tools .woocommerce-ordering select { width: 100%; }
}
@media (max-width: 560px) {
  .ai-shop-tools { grid-template-columns: 1fr; }
}
@media (max-width: 999px) {
  .post-type-archive-product ul.products li.product .ai-sizes,
  .tax-product_cat ul.products li.product .ai-sizes,
  .search ul.products li.product .ai-sizes { padding: 0 4px 6px 0; }
}
.arteva-intl .woocommerce-breadcrumb { font-size: 12.5px; color: var(--ai-label); margin: 0 0 6px; }
.arteva-intl .woocommerce-breadcrumb a { color: var(--ai-label); text-decoration: none; }
.arteva-intl .woocommerce-pagination { margin-top: 40px; text-align: center; }
.arteva-intl .woocommerce-pagination ul.page-numbers { display: inline-flex; gap: 6px; list-style: none; margin: 0; padding: 4px; border: 0; border-radius: 14px; background: rgb(255 255 255 / .6); }
.arteva-intl .woocommerce-pagination ul.page-numbers li { border: 0; }
.arteva-intl .woocommerce-pagination .page-numbers a,
.arteva-intl .woocommerce-pagination .page-numbers span { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; border-radius: 10px; text-decoration: none; font-weight: 600; }
.arteva-intl .woocommerce-pagination .page-numbers .current { background: #fff; color: var(--ai-blue-deep); }

/* ---------- Forms (shared) ---------- */
.arteva-intl input[type="text"], .arteva-intl input[type="email"], .arteva-intl input[type="tel"],
.arteva-intl input[type="password"], .arteva-intl input[type="number"], .arteva-intl input[type="search"],
.arteva-intl textarea, .arteva-intl select, .arteva-intl .input-text {
  width: 100%; min-height: 46px; padding: 10px 14px; border-radius: 12px;
  border: 1px solid var(--ai-field); background: rgb(255 255 255 / .92);
  font: 400 15px/1.4 var(--ai-sans); color: var(--ai-ink);
}
.arteva-intl textarea { min-height: 96px; }
.arteva-intl input:focus, .arteva-intl textarea:focus, .arteva-intl select:focus { outline: none; border-color: var(--ai-blue); box-shadow: 0 0 0 3px rgb(138 104 84 / .18); }
.arteva-intl .woocommerce-ordering select, .arteva-intl select { width: auto; max-width: 100%; padding-right: 36px; }
.arteva-intl label { font-size: 13px; font-weight: 600; color: var(--ai-ink); }
.arteva-intl .required { color: var(--ai-danger); text-decoration: none; }
.arteva-intl .select2-container .select2-selection--single { min-height: 46px; border-radius: 12px; border-color: var(--ai-field); display: flex; align-items: center; }
.arteva-intl .select2-container .select2-selection--single .select2-selection__arrow { height: 44px; }

/* Notices */
.arteva-intl .woocommerce-message, .arteva-intl .woocommerce-info, .arteva-intl .woocommerce-error,
.arteva-intl .woocommerce-notices-wrapper > div {
  list-style: none; margin: 0 0 22px; padding: 14px 18px; border-radius: 16px;
  background: rgb(255 255 255 / .82); border: 1px solid rgb(255 255 255 / .9);
  box-shadow: 0 8px 24px rgb(31 40 55 / .08);
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; font-size: 14px;
}
.arteva-intl .woocommerce-message::before, .arteva-intl .woocommerce-info::before, .arteva-intl .woocommerce-error::before { content: none; }
.arteva-intl .woocommerce-message { border-left: 0; box-shadow: inset 3px 0 0 var(--ai-ok), 0 8px 24px rgb(31 40 55 / .08); }
.arteva-intl .woocommerce-error { box-shadow: inset 3px 0 0 var(--ai-danger), 0 8px 24px rgb(31 40 55 / .08); }
.arteva-intl .woocommerce-error li { margin: 0; }
.arteva-intl .woocommerce-message .button, .arteva-intl .woocommerce-info .button { order: 2; }

/* ---------- Single product ---------- */
.arteva-intl div.product { position: relative; }
.arteva-intl div.product .ai-product-top {
  display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: clamp(24px, 3vw, 44px); align-items: start;
  border-radius: var(--ai-r-lg); padding: 16px;
}
.arteva-intl div.product .woocommerce-product-gallery { float: none; width: auto; margin: 0; position: relative; }
.arteva-intl div.product .woocommerce-product-gallery__wrapper { margin: 0; }
.arteva-intl div.product .woocommerce-product-gallery__image img,
.arteva-intl div.product .woocommerce-product-gallery__image--placeholder img { display: block; width: 100%; border-radius: 20px; }
/* Thumbnails (Owner, 29 Oct): one row, never a half-empty second row. Five show at a time; more scroll sideways.
   intl.js fits up to seven in the row when they stay at least 84px. All in full colour, the shown one ringed in mocha. */
.arteva-intl div.product .flex-control-thumbs { list-style: none; display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - 32px) / 5);
  position: relative; gap: 8px; margin: 10px 0 0; padding: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.arteva-intl div.product .flex-control-thumbs::-webkit-scrollbar { display: none; }
.arteva-intl div.product .flex-control-thumbs li { width: auto; float: none; margin: 0; scroll-snap-align: start; }
body.arteva-intl div.product .flex-control-thumbs img { display: block; width: 100%; border-radius: 10px; opacity: 1 !important; cursor: pointer; aspect-ratio: 1; object-fit: cover;
  box-sizing: border-box; border: 2px solid transparent; transition: border-color .15s ease; }
body.arteva-intl div.product .flex-control-thumbs img:hover { opacity: 1; border-color: rgb(138 104 84 / .35); }
body.arteva-intl div.product .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--ai-blue); }
/* Without hover zoom WooCommerce opens the full-size photo when the photo itself is clicked. */
body.arteva-intl .woocommerce-product-gallery__image a { cursor: zoom-in; }
.arteva-intl div.product .woocommerce-product-gallery__trigger { position: absolute; top: 14px; right: 14px; z-index: 3; width: 44px; height: 44px; border-radius: 12px; background: rgb(255 255 255 / .8); display: grid; place-items: center; font-size: 0; text-decoration: none; }
.arteva-intl div.product .woocommerce-product-gallery__trigger::before { content: ""; width: 14px; height: 14px; border: 2px solid var(--ai-ink); border-radius: 50%; }

.arteva-intl div.product .summary { float: none; width: auto; margin: 0; padding: 18px 10px 10px; display: flex; flex-direction: column; gap: 18px; position: sticky; top: 100px; }
.arteva-intl div.product .summary > * { margin: 0; }
.arteva-intl div.product .product_title { font-size: clamp(36px, 4vw, 54px); line-height: 1; margin: 0; }
/* Phones: product names stay within two lines (Owner): a smaller title on the product page, and card titles cut
   after two lines with an ellipsis (the full name is on the product page). */
@media (max-width: 767px) {
  .arteva-intl div.product .product_title { font-size: 26px; line-height: 1.12; letter-spacing: -0.01em; }
  .arteva-intl table.cart td.product-name > a { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; font-size: 15.5px; line-height: 1.25; }
  .arteva-intl ul.products li.product .woocommerce-loop-product__title, .ai-best-card h3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
}
.arteva-intl div.product .summary > p.price, .arteva-intl div.product .summary > .price { font-size: 21px; font-weight: 600; color: var(--ai-ink); }
.arteva-intl div.product .price .ai-from { font-size: 14px; font-weight: 500; color: var(--ai-muted); margin-right: 4px; }
.arteva-intl div.product .woocommerce-product-details__short-description { font-size: 15px; color: #3f454d; }
.arteva-intl div.product .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }

.arteva-intl div.product form.cart { margin: 0; display: flex; flex-direction: column; gap: 18px; }
.arteva-intl div.product form.cart .variations { border: 0; margin: 0; width: 100%; border-collapse: collapse; }
.arteva-intl div.product form.cart .variations tbody, .arteva-intl div.product form.cart .variations tr { display: block; }
.arteva-intl div.product form.cart .variations tr + tr { margin-top: 16px; }
.arteva-intl div.product form.cart .variations th, .arteva-intl div.product form.cart .variations td { display: block; padding: 0; text-align: left; border: 0; line-height: 1.4; }
.arteva-intl div.product form.cart .variations th.label { margin-bottom: 8px; }
.arteva-intl div.product form.cart .variations label { font-size: 13px; font-weight: 600; }
.arteva-intl div.product form.cart .variations select.ai-enhanced { position: absolute !important; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.arteva-intl .reset_variations { display: inline-block; margin-top: 10px; font-size: 12.5px; color: var(--ai-label); }

.ai-opts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ai-opt {
  min-height: 46px; padding: 6px 10px; border-radius: 12px; border: 1px solid var(--ai-field); background: #fff;
  font: 500 13.5px/1.2 var(--ai-sans); color: var(--ai-ink); cursor: pointer; text-align: center;
  transition: border-color .15s ease, background .15s ease;
}
.ai-opt:hover { border-color: var(--ai-blue); }
.ai-opt[aria-pressed="true"] { border: 1.5px solid var(--ai-blue); background: var(--ai-blue-tint); color: var(--ai-blue-deep); font-weight: 650; }
.ai-opt:disabled { opacity: .38; cursor: not-allowed; text-decoration: line-through; }
.ai-opts--frame { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ai-frame-opt { display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 0; }
.ai-opts--frame .ai-opt { width: 100%; min-height: 0; padding: 4px; border-radius: 14px; border: 1px solid var(--ai-field); background: #fff; display: block; }
.ai-opts--frame .ai-opt[aria-pressed="true"] { border: 2px solid var(--ai-blue); padding: 3px; background: #fff; box-shadow: 0 0 0 3px rgb(138 104 84 / .14); }
.ai-opts--frame .ai-opt img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 1; object-fit: cover; border-radius: 10px; }
.ai-frame-name { min-height: 1.4em; font-size: 13px; font-weight: 600; color: var(--ai-blue-deep); visibility: hidden; }
.ai-frame-opt.is-on .ai-frame-name { visibility: visible; }

.arteva-intl div.product .single_variation_wrap { display: flex; flex-direction: column; gap: 14px; }
/* Price rows share one label style: "Wall art" (the variation) and "Total" (with extras) line up; the total is the larger figure. */
.arteva-intl div.product .woocommerce-variation-price .price { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 0; padding: 0 18px; font-size: 18px; font-weight: 600; line-height: 1.2; color: var(--ai-ink); }
.arteva-intl div.product .woocommerce-variation-price .price::before { content: "Wall art"; }
.arteva-intl div.product .woocommerce-variation-price .price::before, .ai-total > span { font-family: var(--ai-sans); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ai-label); }
.arteva-intl div.product .woocommerce-variation-availability p { margin: 0; font-size: 13px; color: var(--ai-muted); }
.arteva-intl div.product .woocommerce-variation-add-to-cart,
.arteva-intl div.product form.cart:not(.variations_form) { flex-direction: row; display: flex; flex-wrap: nowrap; gap: 10px; align-items: stretch; }
.arteva-intl div.product .quantity { flex: 0 0 auto; }
.arteva-intl div.product .quantity .qty { width: 72px; min-height: 54px; text-align: center; border-radius: 999px; padding: 0 8px; }
.arteva-intl button.single_add_to_cart_button { flex: 1 1 auto; min-height: 54px; font-size: 15px; }

.ai-leadtime { border-top: 1px solid var(--ai-line); padding-top: 16px; display: flex; flex-direction: column; gap: 10px; font-size: 13.5px; line-height: 1.6; color: var(--ai-muted); }
.ai-leadtime-now { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 14px; background: rgb(255 255 255 / .7); color: var(--ai-ink); }
.ai-leadtime-now svg { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 2px; color: var(--ai-blue); }
.ai-leadtime-now strong { font-weight: 650; }
.ai-leadtime p { margin: 0; }

.arteva-intl div.product .product_meta { font-size: 12.5px; color: var(--ai-label); }
.arteva-intl div.product .product_meta > span { display: block; }

.arteva-intl div.product .woocommerce-tabs {
  margin-top: 20px; border-radius: var(--ai-r-md); padding: clamp(20px, 3vw, 36px);
  background: linear-gradient(135deg, rgb(255 255 255 / .72), rgb(240 242 246 / .46));
  border: 1px solid rgb(255 255 255 / .82);
  box-shadow: 0 15px 37px rgb(31 40 55 / .12), inset 0 1px 0 rgb(255 255 255 / .9);
}
.arteva-intl div.product .woocommerce-tabs ul.tabs { list-style: none; display: inline-flex; flex-wrap: wrap; gap: 2px; margin: 0 0 22px; padding: 3px; border-radius: 13px; background: var(--ai-seg); overflow: visible; }
.arteva-intl div.product .woocommerce-tabs ul.tabs::before, .arteva-intl div.product .woocommerce-tabs ul.tabs li::before, .arteva-intl div.product .woocommerce-tabs ul.tabs li::after { content: none; display: none; }
.arteva-intl div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; background: transparent; border-radius: 10px; }
.arteva-intl div.product .woocommerce-tabs ul.tabs li a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; font-size: 13.5px; font-weight: 500; color: var(--ai-muted); text-decoration: none; }
.arteva-intl div.product .woocommerce-tabs ul.tabs li.active { background: #fff; box-shadow: 0 1px 3px rgb(31 53 88 / .12); }
.arteva-intl div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ai-blue-deep); font-weight: 650; }
.arteva-intl div.product .woocommerce-tabs .panel { margin: 0; max-width: 760px; font-size: 15.5px; line-height: 1.7; color: #33383f; }
.arteva-intl div.product .woocommerce-tabs .panel > h2:first-child { font-size: 28px; }
.arteva-intl table.woocommerce-product-attributes { border: 0; width: 100%; border-collapse: collapse; }
.arteva-intl table.woocommerce-product-attributes th, .arteva-intl table.woocommerce-product-attributes td { padding: 12px 0; border-bottom: 1px solid var(--ai-line); text-align: left; font-size: 14px; background: none; }
.arteva-intl table.woocommerce-product-attributes th { width: 34%; font-weight: 600; }
.arteva-intl table.woocommerce-product-attributes td p { margin: 0; }

.arteva-intl .related.products, .arteva-intl .upsells.products { margin-top: 48px; }
.arteva-intl .related.products > h2, .arteva-intl .upsells.products > h2 { font-size: clamp(30px, 3.4vw, 44px); margin-bottom: 26px; }

@media (max-width: 899px) {
  .arteva-intl div.product .ai-product-top { grid-template-columns: 1fr; padding: 10px; border-radius: 22px; }
  .arteva-intl div.product .summary { position: static; padding: 8px 8px 12px; }
}
@media (max-width: 420px) {
  .ai-opts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ai-opts.ai-opts--frame { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
}

/* Product page details shared with the Indonesian store (inc/product.php, inc/addons.php). */
.ai-trust-strip { list-style: none; margin: 12px 0 0; padding: 14px 0; border-radius: 16px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); font-size: 12px; font-weight: 600; line-height: 1.3; letter-spacing: .01em; color: var(--ai-muted); }
.ai-trust-strip li { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 7px; padding: 2px 10px; text-align: center; }
.ai-trust-strip li + li { border-left: 1px solid var(--ai-line); }
.ai-trust-strip svg { flex: 0 0 20px; width: 20px; height: 20px; color: var(--ai-blue); }
.arteva-intl div.product .flex-direction-nav { list-style: none; margin: 0; padding: 0; }
.arteva-intl div.product .flex-direction-nav a { position: absolute; top: 40%; z-index: 4; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; font-size: 0; text-decoration: none; color: var(--ai-ink); background: rgb(255 255 255 / .82); box-shadow: 0 6px 16px rgb(31 40 55 / .16); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
/* Chevrons drawn with borders (not the text characters), so they sit exactly in the middle of the circle. */
.arteva-intl div.product .flex-direction-nav a::before { content: ""; position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; margin: -5.5px 0 0 -5.5px; border: solid var(--ai-ink); border-width: 0 2px 2px 0; box-sizing: content-box; }
.arteva-intl div.product .flex-direction-nav .flex-prev { left: 12px; }
.arteva-intl div.product .flex-direction-nav .flex-prev::before { transform: translateX(1.5px) rotate(135deg); }
.arteva-intl div.product .flex-direction-nav .flex-next { right: 12px; }
.arteva-intl div.product .flex-direction-nav .flex-next::before { transform: translateX(-1.5px) rotate(-45deg); }
.arteva-intl div.product .flex-direction-nav .flex-disabled { opacity: 0; pointer-events: none; }
.arteva-intl div.product .ai-nav-box { position: relative; }
.arteva-intl div.product .ai-nav-box .flex-direction-nav a { top: 50%; transform: translateY(-50%); }

.ai-rating-inline { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--ai-muted) !important; text-decoration: none; }
.ai-rating-inline .ai-stars { padding: 0; }
.ai-rating-inline strong { color: var(--ai-ink); }
.ai-price-hint { margin: 0; padding: 10px 14px; border-radius: 12px; background: rgb(255 255 255 / .7); font-size: 13px; color: var(--ai-muted); }
.ai-price-hint.is-alert { color: var(--ai-danger); }
.arteva-intl div.product .woocommerce-variation-add-to-cart, .arteva-intl div.product form.cart:not(.variations_form) { flex-wrap: wrap; }
.arteva-intl button.ai-buy-now { flex: 1 0 100%; min-height: 50px; border-radius: 999px; font-size: 14.5px; }
.arteva-intl button.ai-buy-now.disabled { opacity: .5; }

.arteva-intl div.product .woocommerce-product-details__short-description ul { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 6px; }
.arteva-intl div.product .woocommerce-product-details__short-description li, .ai-checklist li { position: relative; padding-left: 24px; }
.arteva-intl div.product .woocommerce-product-details__short-description li::before, .ai-checklist li::before { content: ""; position: absolute; left: 2px; top: .45em; width: 12px; height: 7px; border-left: 2px solid var(--ai-blue); border-bottom: 2px solid var(--ai-blue); transform: rotate(-45deg); }
.ai-checklist { list-style: none; margin: 0 0 1em; padding: 0; display: grid; gap: 8px; }

.ai-fold { border-radius: 16px; background: rgb(255 255 255 / .72); border: 1px solid rgb(255 255 255 / .9); }
.ai-fold summary { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 0 16px; font-size: 14px; font-weight: 650; cursor: pointer; list-style: none; }
.ai-fold summary::-webkit-details-marker { display: none; }
.ai-fold summary::after { content: "+"; font-size: 20px; font-weight: 400; color: var(--ai-label); }
.ai-fold[open] summary::after { content: "\2212"; }
.ai-fold-body { padding: 0 16px 14px; font-size: 13.5px; line-height: 1.6; color: #3f454d; }
.ai-fold-body p { margin: 0 0 8px; }

.ai-addons { display: flex; flex-direction: column; gap: 10px; }
.ai-addons-head h2 { margin: 0; font-size: 22px; }
.ai-addons-head p { margin: 2px 0 0; font-size: 13px; color: var(--ai-muted); }
.ai-addons-list { display: grid; gap: 8px; }
.ai-addon { position: relative; display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 10px 14px 10px 10px; border-radius: 16px; background: #fff; border: 1px solid var(--ai-field); cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease; }
.ai-addon:hover { border-color: var(--ai-blue); }
.ai-addon input { position: absolute; opacity: 0; pointer-events: none; }
.ai-addon img { width: 56px; height: 56px; object-fit: cover; border-radius: 12px; background: #eef0f3; }
.ai-addon-copy { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.ai-addon-copy strong { font-size: 14px; font-weight: 650; }
.ai-addon-copy small { font-size: 13px; color: var(--ai-muted); }
.ai-addon-explain { display: none; font-size: 12px; line-height: 1.45; color: var(--ai-label); margin-top: 4px; }
.ai-addon.is-on .ai-addon-explain { display: block; }
.ai-addon-copy strong { display: inline-flex; align-items: center; gap: 6px; }
.ai-addon-info { display: inline-grid; place-items: center; flex: none; width: 17px; height: 17px; min-height: 0; padding: 0; border-radius: 50%; border: 1px solid #b9bdc4; background: transparent; color: var(--ai-muted); font: italic 600 11px/1 Georgia, 'Times New Roman', serif; cursor: pointer; }
.ai-addon-info:hover, .ai-addon-info[aria-expanded="true"] { border-color: var(--ai-blue); color: var(--ai-blue-deep); background: var(--ai-blue-tint); }
.ai-addon-info:focus-visible { outline: 2px solid var(--ai-blue); outline-offset: 2px; }
.ai-addon-more { grid-column: 1 / -1; cursor: default; }
.ai-addon-more[hidden] { display: none; }
.ai-addon-link { font-size: 12.5px; font-weight: 600; color: var(--ai-blue-deep); text-decoration: underline; text-underline-offset: 2px; }
.ai-order-tracking { margin: 16px 0; padding: 12px 14px; border-radius: 12px; background: var(--ai-blue-tint); color: var(--ai-blue-deep); }
.ai-addon-page-text { margin: 12px 0 0; font-size: 15px; line-height: 1.6; color: var(--ai-label); }
.ai-addon-page-note { margin: 16px 0 0; padding: 12px 14px; border-radius: 12px; background: var(--ai-blue-tint); font-size: 13.5px; color: var(--ai-blue-deep); }
.ai-addon-price { font-size: 13px; font-weight: 650; color: var(--ai-ink); white-space: nowrap; }
.ai-addon.is-on { border: 2px solid var(--ai-blue); padding: 9px 13px 9px 9px; box-shadow: 0 0 0 3px rgb(138 104 84 / .12); }
.ai-addon.is-on .ai-addon-price { color: var(--ai-blue-deep); }
.ai-addon:has(input:focus-visible) { outline: 2px solid var(--ai-blue); outline-offset: 2px; }
.ai-addon.is-off { opacity: .5; cursor: not-allowed; }
.ai-addon.is-off .ai-addon-price { font-weight: 500; white-space: normal; text-align: right; max-width: 120px; }
.ai-size-info { margin: 0; padding: 10px 14px; border-radius: 12px; background: rgb(255 255 255 / .7); font-size: 13px; color: var(--ai-muted); }
.ai-size-info strong { color: var(--ai-ink); }
.ai-map-notes { display: flex; flex-direction: column; gap: 6px; }
.ai-map-notes p { margin: 0; font-size: 12.5px; line-height: 1.5; color: var(--ai-muted); }
.ai-addon--set { grid-template-columns: 56px minmax(0, 1fr); cursor: default; }
.ai-addon--set:hover { border-color: var(--ai-field); }
.ai-addon-set-fields { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) 84px; gap: 8px; }
.ai-addon-set-fields select, .ai-addon-set-fields input { width: 100%; min-height: 44px; }
.ai-addon--set.is-on { border: 2px solid var(--ai-blue); padding: 9px 13px 9px 9px; }
.ai-addons-hint { margin: 0; font-size: 12.5px; color: var(--ai-muted); }
.ai-total { flex: 1 0 100%; display: flex; justify-content: space-between; align-items: center; margin: 0; padding: 14px 18px; border-radius: 14px; background: #fff; }
.ai-total[hidden], .ai-size-info[hidden], .ai-price-hint[hidden] { display: none; }
.ai-total strong { font-size: 26px; font-weight: 650; line-height: 1.1; letter-spacing: -0.01em; color: var(--ai-ink); }
.ai-qty { display: inline-flex; align-items: center; border: 1px solid var(--ai-field); border-radius: 999px; background: #fff; }
.arteva-intl div.product .ai-qty .qty { width: 34px; min-height: 52px; border: 0; padding: 0; background: transparent; -moz-appearance: textfield; }
.ai-qty .qty::-webkit-outer-spin-button, .ai-qty .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ai-step { width: 36px; min-height: 52px; border: 0; background: transparent; font-size: 20px; color: var(--ai-ink); cursor: pointer; }
.ai-step:hover { color: var(--ai-blue); }
.ai-addon-qty { display: inline-block; min-width: 40px; text-align: center; font-weight: 600; }
.ai-addons-note { margin: 0; padding: 10px 14px; border-radius: 12px; background: var(--ai-blue-tint); font-size: 13px; color: var(--ai-blue-deep); }

.ai-tabs { margin-top: 20px; border-radius: var(--ai-r-md); padding: clamp(14px, 2vw, 20px) clamp(16px, 2.5vw, 28px); background: linear-gradient(135deg, rgb(255 255 255 / .72), rgb(240 242 246 / .46)); border: 1px solid rgb(255 255 255 / .82); box-shadow: 0 15px 37px rgb(31 40 55 / .10), inset 0 1px 0 rgb(255 255 255 / .9); }
.ai-tab-bar { display: inline-flex; flex-wrap: wrap; gap: 2px; padding: 3px; border-radius: 13px; background: var(--ai-seg); }
.ai-tab-bar button { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 16px; border: 0; border-radius: 10px; background: transparent; font: 500 14px var(--ai-sans); color: var(--ai-muted); cursor: pointer; }
.ai-tab-bar button::after { content: ""; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .2s ease; }
.ai-tab-bar button[aria-selected="true"] { background: #fff; color: var(--ai-blue-deep); font-weight: 650; box-shadow: 0 1px 3px rgb(31 53 88 / .12); }
.ai-tab-bar button[aria-selected="true"]::after { transform: rotate(-135deg) translateY(-2px); }
.ai-tab-panel { padding-top: 20px; max-width: 820px; font-size: 15px; line-height: 1.7; color: #33383f; animation: ai-fade .3s ease both; }
.ai-tab-panel[hidden] { display: none; }
/* Tablet and desktop: the Description fills its box, and the details table sits in two columns side by side,
   so the panel is not half empty and not long (Owner). Phones keep one column. */
@media (min-width: 700px) {
  .ai-tab-panel { max-width: none; }
  .ai-tab-panel table.woocommerce-product-attributes tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; background: linear-gradient(var(--ai-line), var(--ai-line)) 50% 0 / 1px 100% no-repeat; }
  .ai-tab-panel table.woocommerce-product-attributes tr { display: grid; grid-template-columns: minmax(110px, 32%) minmax(0, 1fr); gap: 12px; align-items: baseline; border-bottom: 1px solid var(--ai-line); }
  .ai-tab-panel table.woocommerce-product-attributes th, .ai-tab-panel table.woocommerce-product-attributes td { display: block; width: auto; border: 0; }
}
.ai-tab-panel > :first-child { margin-top: 0; }
.ai-review-summary { display: grid; grid-template-columns: minmax(0, 200px) minmax(0, 1fr); gap: 24px; align-items: center; margin-bottom: 24px; padding: 18px; border-radius: 18px; background: rgb(255 255 255 / .8); }
.ai-review-score { display: flex; flex-direction: column; gap: 2px; }
.ai-review-score strong { font-family: var(--ai-serif); font-weight: 300; font-size: 48px; line-height: 1; }
.ai-review-score small { font-size: 18px; color: var(--ai-label); margin-left: 4px; }
.ai-review-score > span:last-child { font-size: 13px; color: var(--ai-muted); }
.ai-review-bars { display: grid; gap: 6px; }
.ai-review-bar { display: grid; grid-template-columns: 34px minmax(0, 1fr) 24px; align-items: center; gap: 10px; font-size: 12.5px; color: var(--ai-muted); font-variant-numeric: tabular-nums; }
.ai-review-bar i { display: block; height: 8px; border-radius: 999px; background: var(--ai-seg); overflow: hidden; }
.ai-review-bar b { display: block; height: 100%; background: #a8720a; border-radius: inherit; }
.arteva-intl #reviews ol.commentlist { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.arteva-intl #reviews ol.commentlist li { margin: 0; padding: 14px 16px; border-radius: 14px; background: #fff; }
.arteva-intl #reviews ol.commentlist li img.avatar { display: none; }
.arteva-intl #reviews ol.commentlist li .comment-text { margin: 0; border: 0; padding: 0; }
.arteva-intl #reviews .star-rating { color: #a8720a; }

.ai-recs { margin-top: 20px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 20px; align-items: center; padding: clamp(18px, 2.5vw, 28px); border-radius: var(--ai-r-md); background: rgb(255 255 255 / .72); border: 1px solid rgb(255 255 255 / .9); }
.ai-recs h2 { font-size: 28px; margin: 0 0 4px; }
.ai-recs p { margin: 0; font-size: 13.5px; color: var(--ai-muted); }
.ai-recs-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ai-rec { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px; align-items: center; padding: 10px; border-radius: 16px; background: #fff; text-decoration: none; color: var(--ai-ink); }
.ai-rec img { width: 64px; height: 64px; border-radius: 12px; object-fit: cover; }
.ai-rec strong { display: block; font-size: 14px; }
.ai-rec small { display: block; font-size: 12px; line-height: 1.45; color: var(--ai-muted); }
.arteva-intl ul.products li.product .ai-loop-rating { display: block; padding: 0 8px; font-size: 12px; color: var(--ai-muted); }
.arteva-intl ul.products li.product .ai-loop-rating span:first-child { color: #a8720a; }
.ai-wa-float { position: fixed; z-index: 70; left: max(16px, env(safe-area-inset-left, 0px)); bottom: calc(16px + env(safe-area-inset-bottom, 0px)); display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 6px 16px 6px 6px; border-radius: 999px; color: var(--ai-ink); text-decoration: none; background: linear-gradient(135deg, rgb(255 255 255 / .86), rgb(240 242 246 / .7)); border: 1px solid rgb(255 255 255 / .9); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); box-shadow: 0 10px 28px rgb(31 40 55 / .2); }
.ai-wa-float svg { width: 40px; height: 40px; padding: 8px; border-radius: 50%; color: #fff; background: #1d2025; }
.ai-wa-float span { display: flex; flex-direction: column; font-size: 13px; font-weight: 650; line-height: 1.2; }
.ai-wa-float small { font-size: 11px; font-weight: 500; color: var(--ai-muted); }
.arteva-intl ul.products li.product .ai-sizes { display: block; padding: 0 8px 8px; font-size: 12px; color: var(--ai-label); }
@media (max-width: 999px) { .arteva-intl ul.products li.product .ai-sizes { padding: 0 4px 6px; } }
@media (max-width: 560px) {
  .ai-review-summary { grid-template-columns: 1fr; }
  .ai-addon { grid-template-columns: 48px minmax(0, 1fr); }
  .ai-addon img { width: 48px; height: 48px; }
  .ai-addon-price { grid-column: 2; }
  .ai-recs { grid-template-columns: 1fr; }
  .ai-recs-list { grid-template-columns: 1fr; }
  .ai-wa-float { padding: 6px; }
  .ai-wa-float span { display: none; }
  .ai-trust-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; padding: 4px 0; }
  .ai-trust-strip li { flex-direction: row; align-items: center; justify-content: flex-start; gap: 10px; padding: 12px 14px; text-align: left; }
  .ai-trust-strip li + li { border-left: 0; }
  .ai-trust-strip li:nth-child(even) { border-left: 1px solid var(--ai-line); }
  .ai-trust-strip li:nth-child(n+3) { border-top: 1px solid var(--ai-line); }
  .ai-trust-strip svg { flex-basis: 18px; width: 18px; height: 18px; }
}

/* ---------- Promotion, welcome voucher, wishlist (inc/engage.php) ---------- */
.ai-announce--promo { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px 12px; }
.ai-countdown { display: inline-flex; align-items: center; min-height: 20px; padding: 0 8px; border-radius: 999px; background: rgb(255 255 255 / .14); font-variant-numeric: tabular-nums; letter-spacing: .06em; }
.ai-sale-ends { flex: 1 0 100%; margin: 0; padding: 0 18px; font-size: 12.5px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--ai-blue-deep); }
.ai-sale-ends[hidden] { display: none; }

.ai-voucher { position: fixed; z-index: 80; right: max(16px, env(safe-area-inset-right, 0px)); bottom: calc(16px + env(safe-area-inset-bottom, 0px)); width: min(340px, calc(100vw - 32px)); padding: 20px; border-radius: 20px; display: flex; flex-direction: column; gap: 10px; animation: ai-fade .4s ease both; }
.ai-voucher[hidden] { display: none; }
.ai-voucher.ai-glass { background: linear-gradient(135deg, rgb(255 255 255 / .58), rgb(236 240 246 / .38)); border: 1px solid rgb(255 255 255 / .75); -webkit-backdrop-filter: blur(32px) saturate(160%); backdrop-filter: blur(32px) saturate(160%); box-shadow: 0 24px 60px rgb(31 40 55 / .22), inset 0 1px 0 rgb(255 255 255 / .85); }
@media (prefers-reduced-transparency: reduce) { .ai-voucher.ai-glass { background: #f6f8fb; } }
.arteva-intl .ai-voucher a.ai-cta { background: rgb(255 255 255 / .45); border: 1px solid rgb(255 255 255 / .85); color: var(--ai-ink); text-shadow: none; box-shadow: inset 0 1px 0 rgb(255 255 255 / .8); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.arteva-intl .ai-voucher a.ai-cta:hover { color: var(--ai-ink); background: rgb(255 255 255 / .7); filter: none; }
.ai-voucher.ai-glass .ai-voucher-code { background: rgb(255 255 255 / .55); border-color: rgb(29 32 37 / .25); }
.ai-voucher.ai-glass .ai-voucher-code button { background: rgb(255 255 255 / .7); color: var(--ai-ink); }
.ai-voucher.ai-glass .ai-voucher-close { background: rgb(255 255 255 / .45); }
.ai-voucher h2 { margin: 0; font-size: 24px; }
.ai-voucher p { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--ai-muted); }
.ai-voucher-close { position: absolute; top: 10px; right: 10px; width: 36px; height: 36px; border: 0; border-radius: 10px; background: rgb(255 255 255 / .7); font-size: 20px; line-height: 1; color: var(--ai-muted); cursor: pointer; }
.ai-voucher-code { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 6px 6px 14px; border-radius: 12px; border: 1px dashed var(--ai-blue); background: #fff; }
.ai-voucher-code code { font: 700 16px/1 var(--ai-sans); letter-spacing: .08em; color: var(--ai-ink); user-select: all; }
.ai-voucher-code button { min-height: 36px; padding: 0 14px; border: 0; border-radius: 9px; background: var(--ai-blue-tint); color: var(--ai-blue-deep); font: 650 13px var(--ai-sans); cursor: pointer; }
.ai-voucher .ai-cta { min-height: 44px; }
@media (max-width: 560px) { .ai-voucher { bottom: calc(80px + env(safe-area-inset-bottom, 0px)); } }

.ai-wish { position: absolute; z-index: 3; top: 20px; right: 20px; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 1px solid rgb(255 255 255 / .85); border-radius: 50%; color: var(--ai-ink); cursor: pointer; background: linear-gradient(135deg, rgb(255 255 255 / .82), rgb(240 242 246 / .6)); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 4px 12px rgb(31 40 55 / .14); }
.ai-wish svg { width: 19px; height: 19px; }
.ai-wish[aria-pressed="true"] { color: #c2334a; }
.ai-wish[aria-pressed="true"] svg path { fill: currentColor; }
@media (max-width: 999px) { .ai-wish { top: 14px; right: 14px; width: 36px; height: 36px; } }
.ai-wish-link { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; margin-top: 4px; padding: 0 4px; border: 0; background: none; font: 600 13.5px var(--ai-sans); color: var(--ai-muted); cursor: pointer; }
.ai-wish-link svg { width: 18px; height: 18px; }
.ai-wish-link:hover { color: var(--ai-ink); }
.ai-wish-link[aria-pressed="true"] { color: #c2334a; }
.ai-wish-link[aria-pressed="true"] svg path { fill: currentColor; }
.ai-account-head { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: rgb(237 241 247 / .85); color: var(--ai-ink); text-decoration: none; }
.ai-account-head svg { width: 19px; height: 19px; }
.ai-account-head:hover, .ai-wish-head:hover { background: #fff; }
.ai-wish-head { position: relative; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: rgb(237 241 247 / .85); color: var(--ai-ink); text-decoration: none; }
.ai-wish-head svg { width: 19px; height: 19px; }
.ai-wish-count { position: absolute; top: 4px; right: 4px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: #c2334a; color: #fff; font: 700 11px/18px var(--ai-sans); text-align: center; }
.ai-wish-count[hidden] { display: none; }
.ai-wishlist-empty { display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 48px 20px; border-radius: var(--ai-r-md); text-align: center; }
.ai-wishlist-empty p { margin: 0; color: var(--ai-muted); }
.ai-wishlist ul.products li.product { transform: none !important; }

.ai-review-origin { margin: 6px 0 0; font-size: 12px; font-weight: 600; color: var(--ai-label); }

/* ---------- Cart (classic [woocommerce_cart]) ---------- */
.woocommerce-cart.arteva-intl .ai-entry > .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 28px; align-items: start; }
.woocommerce-cart.arteva-intl .ai-entry > .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-cart.arteva-intl .ai-entry > .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-cart.arteva-intl .woocommerce-cart-form,
.woocommerce-cart.arteva-intl .cart_totals {
  border-radius: var(--ai-r-md); padding: 18px 22px;
  background: linear-gradient(135deg, rgb(255 255 255 / .72), rgb(240 242 246 / .46));
  border: 1px solid rgb(255 255 255 / .82);
  -webkit-backdrop-filter: blur(26px) saturate(140%); backdrop-filter: blur(26px) saturate(140%);
  box-shadow: 0 15px 37px rgb(31 40 55 / .12), inset 0 1px 0 rgb(255 255 255 / .9);
}
.woocommerce-cart.arteva-intl .cart-collaterals { width: auto; position: sticky; top: 100px; }
.woocommerce-cart.arteva-intl .cart-collaterals .cart_totals { float: none; width: auto; }
.woocommerce-cart.arteva-intl .cross-sells { display: none; }
.arteva-intl table.shop_table { width: 100%; border: 0; border-collapse: collapse; margin: 0; background: none; border-radius: 0; }
.arteva-intl table.shop_table th, .arteva-intl table.shop_table td { padding: 14px 8px; border: 0; border-bottom: 1px solid var(--ai-line); text-align: left; vertical-align: middle; font-size: 14px; background: none; }
.arteva-intl table.shop_table thead th { font-size: 10.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ai-label); padding-top: 6px; }
.arteva-intl table.shop_table tr:last-child td { border-bottom: 0; }
.arteva-intl table.cart .product-thumbnail { width: 96px; }
.arteva-intl table.cart .product-thumbnail img { width: 80px; height: 100px; object-fit: cover; border-radius: 12px; display: block; }
.arteva-intl table.cart .product-name a { font-family: var(--ai-serif); font-size: 18px; text-decoration: none; }
.arteva-intl table.cart .product-name dl.variation { margin: 6px 0 0; font-size: 12.5px; color: var(--ai-muted); display: grid; grid-template-columns: auto 1fr; gap: 2px 6px; }
.arteva-intl table.cart .product-name dl.variation dt, .arteva-intl table.cart .product-name dl.variation dd { margin: 0; float: none; }
.arteva-intl table.cart .product-name dl.variation dd p { margin: 0; }
/* Remove: a small, thin cross drawn in CSS (WooCommerce's bold "×" looked heavy, Owner). */
.arteva-intl table.cart .product-remove a.remove {
  position: relative; display: inline-block; width: 30px; height: 30px; border-radius: 50%; font-size: 0; font-weight: 400;
  color: var(--ai-label) !important; text-decoration: none; background: rgb(255 255 255 / .55); border: 1px solid rgb(177 183 191 / .45);
}
.arteva-intl table.cart .product-remove a.remove::before, .arteva-intl table.cart .product-remove a.remove::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 11px; height: 1.5px; margin: -0.75px 0 0 -5.5px; border-radius: 1px; background: currentColor; transform: rotate(45deg);
}
.arteva-intl table.cart .product-remove a.remove::after { transform: rotate(-45deg); }
.arteva-intl table.cart .product-remove a.remove:hover { color: var(--ai-danger) !important; background: #fff; }
.arteva-intl table.cart .quantity .qty { width: 72px; text-align: center; }
/* Cart quantity: a small rounded box (not a pill) with numbers the size of the price beside it (Owner). */
.arteva-intl table.cart .ai-qty { border-radius: 10px; }
.arteva-intl table.cart .ai-qty .qty { width: 26px; min-height: 34px; border: 0; padding: 0; background: transparent; font-size: 14px; font-weight: 600; -moz-appearance: textfield; }
.arteva-intl table.cart .ai-qty .ai-step { width: 28px; min-height: 34px; font-size: 15px; line-height: 1; }
.arteva-intl table.cart td.actions { padding-top: 18px; }
.arteva-intl table.cart td.actions .coupon { display: inline-flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.arteva-intl table.cart td.actions .coupon .input-text { width: 180px; }
.arteva-intl table.cart td.actions > .button { float: right; }
.arteva-intl .cart_totals h2 { font-size: 28px; margin-bottom: 8px; }
.arteva-intl .cart_totals table.shop_table th { width: 40%; font-weight: 600; font-size: 13.5px; }
.arteva-intl .cart_totals .order-total td, .arteva-intl .cart_totals .order-total th { font-size: 17px; font-weight: 700; }
.arteva-intl .wc-proceed-to-checkout { padding: 16px 0 4px; }
.arteva-intl .wc-proceed-to-checkout .checkout-button { display: flex; width: 100%; min-height: 54px; font-size: 15px; }
.arteva-intl .woocommerce-shipping-totals ul#shipping_method { list-style: none; margin: 0; padding: 0; }
.arteva-intl .woocommerce-shipping-destination, .arteva-intl .woocommerce-shipping-calculator { font-size: 12.5px; color: var(--ai-muted); }
.ai-cart-note { margin: 12px 0 0; font-size: 12.5px; line-height: 1.55; color: var(--ai-muted); }
.arteva-intl .cart-empty.woocommerce-info { justify-content: center; font-size: 16px; }
.arteva-intl .return-to-shop { text-align: center; }
@media (max-width: 999px) {
  .woocommerce-cart.arteva-intl .ai-entry > .woocommerce { grid-template-columns: 1fr; }
  .woocommerce-cart.arteva-intl .cart-collaterals { position: static; }
}
@media (max-width: 767px) {
  .woocommerce-cart.arteva-intl .woocommerce-cart-form { padding: 10px 14px; }
  .arteva-intl table.shop_table_responsive thead { display: none; }
  .arteva-intl table.shop_table_responsive tr { display: grid; grid-template-columns: 80px minmax(0, 1fr) auto; gap: 4px 12px; padding: 14px 0; border-bottom: 1px solid var(--ai-line); }
  .arteva-intl table.shop_table_responsive tr td { display: block; border: 0; padding: 0; text-align: left !important; }
  .arteva-intl table.shop_table_responsive tr td::before { content: none !important; }
  .arteva-intl table.cart tr.cart_item .product-thumbnail { display: block !important; grid-row: 1 / span 4; grid-column: 1; width: auto; }
  .arteva-intl table.cart tr.cart_item .product-thumbnail img { width: 80px; height: 100px; }
  .arteva-intl table.cart tr.cart_item .product-name { grid-column: 2; grid-row: 1; }
  /* Remove sits in the top-right corner of each item: top with the photo, right edge with the price (Owner). */
  .arteva-intl table.cart tr.cart_item .product-remove { grid-column: 3; grid-row: 1; display: flex !important; justify-content: flex-end; align-self: start; justify-self: end; line-height: 0; }
  .arteva-intl table.cart tr.cart_item .product-price { grid-column: 2 / -1; font-size: 12.5px; color: var(--ai-muted); }
  .arteva-intl table.cart tr.cart_item .product-quantity { grid-column: 2; }
  .arteva-intl table.cart tr.cart_item .product-subtotal { grid-column: 3; align-self: center; justify-self: end; text-align: right !important; font-weight: 650; }
  .arteva-intl table.cart tr:last-child { display: block; border-bottom: 0; }
  .arteva-intl table.cart td.actions .coupon { display: flex; width: 100%; }
  .arteva-intl table.cart td.actions .coupon .input-text { flex: 1 1 140px; width: auto; }
  .arteva-intl table.cart td.actions > .button { float: none; width: 100%; margin-top: 10px; }
  .arteva-intl .cart_totals table.shop_table tr { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; }
  .arteva-intl .cart_totals table.shop_table tr th { border: 0; padding: 0; width: auto; }
}

/* ---------- Checkout (classic [woocommerce_checkout]) ---------- */
.woocommerce-checkout.arteva-intl form.checkout {
  display: grid; grid-template-columns: minmax(0, 1fr) 420px; grid-template-areas: "details heading" "details review"; grid-template-rows: auto 1fr; gap: 0 28px; align-items: start;
}
.woocommerce-checkout.arteva-intl form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
.woocommerce-checkout.arteva-intl #customer_details { grid-area: details; }
.woocommerce-checkout.arteva-intl #order_review_heading { grid-area: heading; margin: 0; padding: 22px 22px 0; font-size: 28px; border-radius: var(--ai-r-md) var(--ai-r-md) 0 0; background: rgb(255 255 255 / .74); border: 1px solid rgb(255 255 255 / .85); border-bottom: 0; }
.woocommerce-checkout.arteva-intl #order_review { grid-area: review; padding: 6px 22px 22px; border-radius: 0 0 var(--ai-r-md) var(--ai-r-md); background: rgb(255 255 255 / .74); border: 1px solid rgb(255 255 255 / .85); border-top: 0; box-shadow: 0 22px 37px -12px rgb(31 40 55 / .14); }
.woocommerce-checkout.arteva-intl #customer_details .col-1,
.woocommerce-checkout.arteva-intl #customer_details .col-2 {
  float: none; width: auto; margin: 0 0 22px; border-radius: var(--ai-r-md); padding: 22px;
  background: linear-gradient(135deg, rgb(255 255 255 / .72), rgb(240 242 246 / .46));
  border: 1px solid rgb(255 255 255 / .82);
  -webkit-backdrop-filter: blur(26px) saturate(140%); backdrop-filter: blur(26px) saturate(140%);
  box-shadow: 0 15px 37px rgb(31 40 55 / .12), inset 0 1px 0 rgb(255 255 255 / .9);
}
.woocommerce-checkout.arteva-intl #customer_details::before, .woocommerce-checkout.arteva-intl #customer_details::after { content: none; }
.woocommerce-checkout.arteva-intl h3 { font-size: 24px; margin: 0 0 14px; }
.woocommerce-checkout.arteva-intl .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout.arteva-intl .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
.woocommerce-checkout.arteva-intl .form-row { float: none; width: auto; margin: 0 0 14px; padding: 0; display: flex; flex-direction: column; gap: 6px; grid-column: 1 / -1; }
.woocommerce-checkout.arteva-intl .form-row-first { grid-column: 1; }
.woocommerce-checkout.arteva-intl .form-row-last { grid-column: 2; }
.woocommerce-checkout.arteva-intl .form-row .woocommerce-input-wrapper { display: block; }
.woocommerce-checkout.arteva-intl .form-row.woocommerce-invalid input.input-text { border-color: var(--ai-danger); }
.woocommerce-checkout.arteva-intl #ship-to-different-address { font-family: var(--ai-sans); font-size: 15px; font-weight: 600; }
.woocommerce-checkout.arteva-intl #ship-to-different-address label { display: inline-flex; gap: 10px; align-items: center; min-height: 44px; font-size: 15px; }
.woocommerce-checkout.arteva-intl table.woocommerce-checkout-review-order-table td.product-name { font-size: 13.5px; }
.woocommerce-checkout.arteva-intl .form-row select { width: 100%; }
.arteva-intl table.woocommerce-checkout-review-order-table dl.variation { margin: 4px 0 0; font-size: 12.5px; color: var(--ai-muted); display: grid; grid-template-columns: auto 1fr; gap: 2px 6px; }
.arteva-intl table.woocommerce-checkout-review-order-table dl.variation dt, .arteva-intl table.woocommerce-checkout-review-order-table dl.variation dd { margin: 0; float: none; }
.arteva-intl table.woocommerce-checkout-review-order-table dl.variation dd p { margin: 0; }
.woocommerce-checkout.arteva-intl table.woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout.arteva-intl table.woocommerce-checkout-review-order-table tfoot td { text-align: right; }
.woocommerce-checkout.arteva-intl table.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout.arteva-intl table.woocommerce-checkout-review-order-table .order-total td { font-size: 17px; font-weight: 700; }
.woocommerce-checkout.arteva-intl #payment { background: none; border-radius: 0; margin-top: 10px; }
.woocommerce-checkout.arteva-intl #payment ul.payment_methods { list-style: none; margin: 0 0 14px; padding: 0; border: 0; display: grid; gap: 8px; }
.woocommerce-checkout.arteva-intl #payment ul.payment_methods > li { padding: 12px 14px; border-radius: 14px; background: #fff; border: 1px solid var(--ai-field); }
.woocommerce-checkout.arteva-intl #payment ul.payment_methods > li > label { display: inline-flex; flex-wrap: wrap; gap: 8px; align-items: center; min-height: 28px; }
.woocommerce-checkout.arteva-intl #payment ul.payment_methods > li img { max-height: 24px; width: auto; }
.woocommerce-checkout.arteva-intl #payment div.payment_box { margin: 10px 0 0; padding: 12px; border-radius: 10px; background: var(--ai-seg); color: var(--ai-muted); font-size: 13px; }
.woocommerce-checkout.arteva-intl #payment div.payment_box::before { content: none; }
.woocommerce-checkout.arteva-intl #payment .place-order { padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.woocommerce-checkout.arteva-intl #payment .woocommerce-privacy-policy-text { font-size: 12px; color: var(--ai-muted); }
.woocommerce-checkout.arteva-intl #place_order { width: 100%; min-height: 54px; font-size: 15px; float: none; }
/* reCAPTCHA badge: hidden, the required notice is written under the payment box (functions.php) */
.arteva-intl .grecaptcha-badge { visibility: hidden; }
.woocommerce-checkout.arteva-intl .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout.arteva-intl .woocommerce-form-login-toggle .woocommerce-info { justify-content: flex-start; }
.woocommerce-checkout.arteva-intl form.checkout_coupon { border-radius: 16px; padding: 16px; margin: 0 0 22px; background: rgb(255 255 255 / .74); border: 0; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.woocommerce-checkout.arteva-intl form.checkout_coupon p { margin: 0; float: none; width: auto; }
.ai-checkout-note { margin: 14px 0 0; font-size: 12.5px; line-height: 1.55; color: var(--ai-muted); }
@media (max-width: 999px) {
  .woocommerce-checkout.arteva-intl form.checkout { grid-template-columns: 1fr; grid-template-areas: "details" "heading" "review"; grid-template-rows: none; }
}
@media (max-width: 560px) {
  .woocommerce-checkout.arteva-intl .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout.arteva-intl .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
  .woocommerce-checkout.arteva-intl .form-row-first, .woocommerce-checkout.arteva-intl .form-row-last { grid-column: 1; }
  .woocommerce-checkout.arteva-intl #customer_details .col-1, .woocommerce-checkout.arteva-intl #customer_details .col-2 { padding: 16px; }
  .woocommerce-checkout.arteva-intl #order_review_heading { padding: 18px 16px 0; }
  .woocommerce-checkout.arteva-intl #order_review { padding: 6px 16px 16px; }
}

/* Order received */
.arteva-intl .woocommerce-order { border-radius: var(--ai-r-md); padding: clamp(20px, 3vw, 36px); background: rgb(255 255 255 / .74); }
.arteva-intl ul.woocommerce-order-overview { list-style: none; padding: 0; margin: 0 0 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; }
.arteva-intl ul.woocommerce-order-overview li { margin: 0; padding: 12px 14px; border: 0; border-radius: 12px; background: #fff; font-size: 12px; color: var(--ai-label); text-transform: uppercase; letter-spacing: .06em; }
.arteva-intl ul.woocommerce-order-overview li strong { display: block; margin-top: 4px; font-size: 15px; text-transform: none; letter-spacing: 0; color: var(--ai-ink); }

/* ---------- Footer ---------- */
.ai-footer { padding-bottom: 28px; }
.ai-footer-card { border-radius: var(--ai-r-md); padding: clamp(22px, 3vw, 40px); display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr)) minmax(0, 1.2fr); gap: 28px; font-size: 13.5px; color: var(--ai-muted); }
.ai-footer-brand { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.ai-footer-brand img { margin-bottom: 0; }
.ai-footer-wa { min-height: 44px; font-size: 13.5px; }
/* Footer WhatsApp: a quiet glass box instead of the blue pill (Owner). */
.arteva-intl a.ai-cta.ai-footer-wa, .arteva-intl a.ai-cta.ai-footer-wa:hover { gap: 8px; padding: 0 16px; border-radius: 12px; color: var(--ai-ink); text-shadow: none; background: rgb(255 255 255 / .45); border: 1px solid rgb(255 255 255 / .85); box-shadow: inset 0 1px 0 rgb(255 255 255 / .8); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.arteva-intl a.ai-cta.ai-footer-wa:hover { background: rgb(255 255 255 / .7); filter: none; }
.ai-footer-small { font-size: 12.5px; }
.ai-social { display: flex; gap: 16px; }
.ai-social a { color: var(--ai-label); text-decoration: none; font-weight: 600; }
.ai-social a:hover { color: var(--ai-blue); }
.ai-footer-card img { height: 28px; width: auto; display: block; margin-bottom: 14px; }
.ai-footer-card p { margin: 0; max-width: 360px; line-height: 1.6; }
.ai-footer-card h2 { font-family: var(--ai-sans); font-size: 10.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ai-label); margin: 0 0 10px; }
.ai-footer-card ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.ai-footer-card ul a { display: inline-flex; align-items: center; min-height: 36px; color: var(--ai-ink); text-decoration: none; font-weight: 500; }
.ai-footer-card ul a:hover { color: var(--ai-blue); }
.ai-footer-id { margin: 0; }
.ai-footer-id a { font-weight: 650; color: var(--ai-blue-deep); }
.ai-footer-base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 20px; padding: 16px 6px 0; font-size: 12px; color: var(--ai-label); }
@media (max-width: 1100px) {
  .ai-footer-card { grid-template-columns: 1fr 1fr; }
  .ai-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 599px) {
  .ai-footer-card > div:last-child { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  .arteva-intl *, .arteva-intl *::before, .arteva-intl *::after { transition: none !important; animation: none !important; }
}

/* ---------- PayPal, the only way to pay (inc/payment.php) ---------- */
.ai-paypal-mark { display: block; flex: 0 0 auto; width: 37px; height: 23px; border-radius: 4px; }
.ai-footer-card .ai-paypal-mark { height: 23px; margin: 0; }
.ai-footer-card h2.ai-footer-accept { margin-top: 26px; }
.ai-footer-card p.ai-pay-row { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; font-weight: 600; color: var(--ai-ink); }
.ai-features-pay { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0; padding-top: 14px; border-top: 1px solid rgb(177 183 191 / .35); font-size: 13px; font-weight: 600; color: var(--ai-muted); }
.ai-ship-refused { margin: 0; font-size: 13px; line-height: 1.5; color: var(--ai-danger); }
/* Phones: item details read as short lines ("Size: 40 × 60 cm"), and the delivery row uses the full width,
   instead of both being squeezed into narrow table columns. */
@media (max-width: 767px) {
  .arteva-intl table.woocommerce-checkout-review-order-table dl.variation, .arteva-intl table.cart .product-name dl.variation { display: block; }
  .arteva-intl table.woocommerce-checkout-review-order-table dl.variation dt, .arteva-intl table.woocommerce-checkout-review-order-table dl.variation dd,
  .arteva-intl table.cart .product-name dl.variation dt, .arteva-intl table.cart .product-name dl.variation dd { display: inline; }
  .arteva-intl table.woocommerce-checkout-review-order-table dl.variation dd p, .arteva-intl table.cart .product-name dl.variation dd p { display: inline; }
  .arteva-intl table.woocommerce-checkout-review-order-table dl.variation dd::after, .arteva-intl table.cart .product-name dl.variation dd::after { content: "\A"; white-space: pre; }
  /* The order summary becomes stacked rows: full-width lines, delivery message on its own line. */
  .arteva-intl table.woocommerce-checkout-review-order-table, .arteva-intl table.woocommerce-checkout-review-order-table thead,
  .arteva-intl table.woocommerce-checkout-review-order-table tbody, .arteva-intl table.woocommerce-checkout-review-order-table tfoot { display: block; width: 100%; }
  .arteva-intl table.woocommerce-checkout-review-order-table tr { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 16px; padding: 14px 0; border-top: 1px solid rgb(177 183 191 / .45); }
  .arteva-intl table.woocommerce-checkout-review-order-table thead tr { border-top: 0; padding-top: 0; }
  .arteva-intl table.woocommerce-checkout-review-order-table th, .arteva-intl table.woocommerce-checkout-review-order-table td { display: block !important; width: auto; padding: 0 !important; border: 0 !important; }
  .arteva-intl table.woocommerce-checkout-review-order-table td.product-name { flex: 1 1 60%; }
  .arteva-intl table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td { flex: 1 0 100%; text-align: left !important; }
  .ai-ship-refused { font-weight: 500; }
}
.ai-usd-note { margin: 10px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--ai-muted); }
.ai-pay-note { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0 0 12px; font-size: 12.5px; color: var(--ai-muted); }

/* ---------- My account (WooCommerce): glass menu + glass content card, as the rest of the store ---------- */
.woocommerce-account.logged-in .ai-main .woocommerce { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 24px; align-items: start; }
.woocommerce-account .woocommerce-MyAccount-navigation { float: none; width: auto; padding: 10px; border-radius: var(--ai-r-md); background: linear-gradient(135deg, rgb(255 255 255 / .72), rgb(240 242 246 / .46)); border: 1px solid rgb(255 255 255 / .82); -webkit-backdrop-filter: blur(26px) saturate(140%); backdrop-filter: blur(26px) saturate(140%); box-shadow: 0 15px 37px rgb(31 40 55 / .1); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: flex; align-items: center; min-height: 44px; padding: 0 14px; border-radius: 12px; color: var(--ai-ink); font-weight: 600; font-size: 14px; text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: rgb(255 255 255 / .7); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--ai-blue-tint); color: var(--ai-blue-deep); }
.woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; min-width: 0; padding: clamp(18px, 3vw, 32px); border-radius: var(--ai-r-md); background: rgb(255 255 255 / .72); border: 1px solid rgb(255 255 255 / .82); box-shadow: 0 15px 37px rgb(31 40 55 / .08); }
.woocommerce-account .woocommerce-MyAccount-content > p:first-child { margin-top: 0; }
.woocommerce-account .woocommerce-MyAccount-content a { color: var(--ai-blue-deep); }
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; }
.woocommerce-account .woocommerce-Addresses::before, .woocommerce-account .woocommerce-Addresses::after { content: none; }
.woocommerce-account .woocommerce-Address { float: none; width: auto; }
/* Log in / Create an account: the two card titles say it all, so the page title is not shown (Owner). */
.woocommerce-account:not(.logged-in) .ai-page-head { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.woocommerce-account:not(.logged-in) .ai-main .woocommerce { max-width: 980px; margin: 24px auto 0; }
.woocommerce-account .u-columns h2 { margin: 0 0 14px; font-size: clamp(24px, 2.6vw, 30px); }
.woocommerce-account .woocommerce-privacy-policy-text p { margin: 0 0 14px; font-size: 13px; color: var(--ai-muted); }
@media (min-width: 768px) { .woocommerce-account #customer_login.u-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; } }
.woocommerce-account .woocommerce-form-login, .woocommerce-account .woocommerce-form-register, .woocommerce-account .woocommerce-ResetPassword { margin: 0; padding: clamp(20px, 3vw, 32px); border: 1px solid rgb(255 255 255 / .82); border-radius: var(--ai-r-md); background: rgb(255 255 255 / .72); box-shadow: 0 15px 37px rgb(31 40 55 / .08); }
.woocommerce-account .u-columns { display: grid; gap: 24px; }
.woocommerce-account .u-columns .col-1, .woocommerce-account .u-columns .col-2 { float: none; width: auto; }
.woocommerce-account .woocommerce-form-login .button, .woocommerce-account .woocommerce-form-register .button, .woocommerce-account .woocommerce-ResetPassword .button { width: 100%; min-height: 48px; border-radius: 999px; }
.woocommerce-account .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; margin: 4px 0 12px; }
.woocommerce-account .lost_password { margin: 14px 0 0; font-size: 13.5px; }
@media (max-width: 767px) {
  .woocommerce-account.logged-in .ai-main .woocommerce { grid-template-columns: 1fr; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 6px; }
  .woocommerce-account .woocommerce-MyAccount-navigation a { min-height: 40px; padding: 0 12px; font-size: 13px; background: rgb(255 255 255 / .6); }
}
/* The floating WhatsApp button must not cover the last lines of the footer on small screens. */
@media (max-width: 767px) { .ai-footer { padding-bottom: 92px; } }

/* ---------- Menu types (Islamic Art, Artistic Art): dropdown on desktop, opening list in the tablet/phone menu ---------- */
.ai-nav .ai-has-sub { position: relative; }
.ai-sub-toggle { display: none; }
.ai-nav .ai-sub { list-style: none; margin: 0; padding: 0; }
@media (min-width: 1101px) {
  .ai-nav .ai-sub { position: absolute; z-index: 70; top: calc(100% + 6px); left: 50%; transform: translateX(-50%); display: none; min-width: 230px; padding: 8px; border-radius: 16px; background: linear-gradient(135deg, rgb(255 255 255 / .94), rgb(240 242 246 / .86)); border: 1px solid rgb(255 255 255 / .9); -webkit-backdrop-filter: blur(24px) saturate(140%); backdrop-filter: blur(24px) saturate(140%); box-shadow: 0 18px 40px rgb(31 40 55 / .16); }
  .ai-nav .ai-sub::before { content: ""; position: absolute; left: 0; right: 0; top: -8px; height: 8px; }
  .ai-nav .ai-has-sub:hover > .ai-sub, .ai-nav .ai-has-sub:focus-within > .ai-sub { display: grid; gap: 2px; }
  .ai-nav .ai-sub a { display: flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 10px; white-space: nowrap; letter-spacing: .04em; text-transform: none; font-size: 13.5px; font-weight: 600; }
}
@media (max-width: 1100px) {
  .ai-header.is-menu-open .ai-nav .ai-has-sub { display: grid; grid-template-columns: minmax(0, 1fr) 48px; align-items: center; }
  .ai-header.is-menu-open .ai-sub-toggle { display: grid; place-items: center; width: 44px; height: 44px; margin-left: 4px; padding: 0; border: 0; border-radius: 12px; background: rgb(237 241 247 / .85); cursor: pointer; }
  .ai-sub-toggle::before { content: ""; width: 8px; height: 8px; border: solid var(--ai-ink); border-width: 0 2px 2px 0; transform: translateY(-2px) rotate(45deg); transition: transform .2s ease; }
  .ai-has-sub.is-open > .ai-sub-toggle::before { transform: translateY(2px) rotate(-135deg); }
  .ai-header.is-menu-open .ai-nav .ai-sub { grid-column: 1 / -1; display: none; margin: 2px 0 6px 12px; padding-left: 10px; border-left: 2px solid rgb(177 183 191 / .45); }
  .ai-header.is-menu-open .ai-nav .ai-has-sub.is-open > .ai-sub { display: grid; }
  .ai-header.is-menu-open .ai-nav .ai-sub a { min-height: 44px; font-size: 13px; letter-spacing: .02em; text-transform: none; font-weight: 600; color: var(--ai-muted); }
}

/* Phones: every box sits 16px from the next one and from the footer (Owner: even, precise spacing). */
@media (max-width: 767px) {
  .ai-main { padding-bottom: 16px; }
  .ai-closing { margin-bottom: 16px; }
  .woocommerce-checkout.arteva-intl .woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: 0; }
  .woocommerce-cart.arteva-intl .ai-entry > .woocommerce { gap: 16px; }
  .woocommerce-checkout.arteva-intl .woocommerce-form-coupon-toggle { margin-bottom: 16px; }
  .woocommerce-checkout.arteva-intl #order_review_heading { margin-top: 16px; }
  .woocommerce-account.logged-in .ai-main .woocommerce { gap: 16px; }
}
/* WooCommerce's clearfix pseudo-elements become empty grid cells (extra gap) in the theme's grid layouts. */
body.arteva-intl .ai-main .woocommerce::before, body.arteva-intl .ai-main .woocommerce::after { content: none; display: none; }

/* ---------- QA 29 Oct (layman pass) ---------- */
/* Pagination never wider than the phone: numbers wrap and get smaller. */
@media (max-width: 767px) {
  .arteva-intl .woocommerce-pagination ul.page-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; max-width: 100%; }
  .arteva-intl .woocommerce-pagination .page-numbers a, .arteva-intl .woocommerce-pagination .page-numbers span { min-width: 40px; min-height: 40px; }
}
.ai-best-price { padding: 0 8px; font-size: 13px; color: var(--ai-muted); }
.ai-best-price .amount { color: var(--ai-ink); font-weight: 600; }
.ai-delivery-note { margin: 8px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--ai-muted); }
.ai-delivery-note a { color: var(--ai-blue-deep); }
.ai-empty { display: grid; gap: 16px; justify-items: center; padding: clamp(24px, 4vw, 40px); border-radius: var(--ai-r-md); text-align: center; }
.ai-empty p { margin: 0; max-width: 560px; color: var(--ai-muted); }
.ai-empty p strong { display: block; margin-bottom: 4px; color: var(--ai-ink); font-size: 17px; }
.ai-empty-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
/* Floating WhatsApp: a round button on phones (it covered text), and it steps aside when the footer, which has its own WhatsApp button, is on screen. */
@media (max-width: 767px) {
  .ai-wa-float { padding: 6px; }
  .ai-wa-float span { display: none; }
}
.ai-wa-float { transition: opacity .2s ease, transform .2s ease; }
.ai-wa-float.is-hidden { opacity: 0; transform: translateY(12px); pointer-events: none; }

/* ---------- QA 29 Oct, part 2 (design pass) ---------- */
/* WooCommerce floats "Ship to a different address?" left, so the next heading slid up over it. */
body.arteva-intl #customer_details #ship-to-different-address { float: none; width: 100%; margin: 0 0 12px; }
body.arteva-intl #customer_details .woocommerce-shipping-fields::after { content: ""; display: block; clear: both; }
/* Form fields keep the theme style (12px corners, light grey line), not WooCommerce's 4px dark outline. */
body.arteva-intl .woocommerce form .form-row .input-text, body.arteva-intl .woocommerce form .form-row select,
body.arteva-intl .woocommerce form .form-row textarea { border: 1px solid var(--ai-field); border-radius: 12px; background: rgb(255 255 255 / .92); }
body.arteva-intl .woocommerce form .form-row .input-text:focus, body.arteva-intl .woocommerce form .form-row select:focus,
body.arteva-intl .woocommerce form .form-row textarea:focus { border-color: var(--ai-blue); box-shadow: 0 0 0 3px rgb(138 104 84 / .18); outline: none; }
body.arteva-intl .woocommerce form .form-row.woocommerce-invalid .input-text { border-color: var(--ai-danger); }
/* Order summary on tablet and desktop: the product column gets the room, the price column stays narrow. */
@media (min-width: 768px) {
  body.arteva-intl table.woocommerce-checkout-review-order-table { table-layout: fixed; width: 100%; }
  body.arteva-intl table.woocommerce-checkout-review-order-table th.product-name { width: 68%; }
  body.arteva-intl table.woocommerce-checkout-review-order-table th.product-total { width: 32%; }
}
/* The product photo shows at once; WooCommerce keeps the gallery invisible until its slider script has run. */
body.arteva-intl div.product .woocommerce-product-gallery { opacity: 1 !important; }

/* ---------- Parity P2 (Owner, 29 Oct): bag drawer, phone buy bar, Gallery Set rows, City Map message ---------- */
html.ai-no-scroll { overflow: hidden; }
.ai-drawer { position: fixed; inset: 0; z-index: 300; }
.ai-drawer[hidden] { display: none; }
.ai-drawer-backdrop { position: absolute; inset: 0; background: rgb(20 24 30 / .3); opacity: 0; transition: opacity .25s ease; }
.ai-drawer.is-open .ai-drawer-backdrop { opacity: 1; }
.ai-drawer-panel { position: absolute; top: 12px; right: 12px; bottom: 12px; width: min(420px, calc(100% - 24px)); display: flex; flex-direction: column; outline: none;
  border-radius: var(--ai-r-md); background: linear-gradient(160deg, rgb(255 255 255 / .94), rgb(244 246 249 / .88)); border: 1px solid rgb(255 255 255 / .9);
  -webkit-backdrop-filter: blur(24px) saturate(140%); backdrop-filter: blur(24px) saturate(140%); box-shadow: 0 24px 60px rgb(31 40 55 / .24);
  transform: translateX(110%); transition: transform .3s ease; }
.ai-drawer.is-open .ai-drawer-panel { transform: none; }
.ai-drawer-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px 12px; }
.ai-drawer-head h2 { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 22px; }
.ai-drawer-head h2 svg { width: 26px; height: 26px; padding: 5px; border-radius: 50%; color: #fff; background: var(--ai-blue); flex: none; }
.ai-drawer-x { width: 40px; height: 40px; min-height: 0; padding: 0; border-radius: 12px; border: 1px solid rgb(31 40 55 / .1); background: rgb(255 255 255 / .7); color: var(--ai-ink); font-size: 22px; line-height: 1; cursor: pointer; }
.ai-drawer-items { flex: 1; display: flex; flex-direction: column; min-height: 0; }
.ai-drawer-list { flex: 1; list-style: none; margin: 0; padding: 0 20px; overflow: auto; }
.ai-drawer-item { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid rgb(31 40 55 / .08); }
.ai-drawer-item img { width: 64px; height: 80px; object-fit: cover; border-radius: 10px; background: #eef0f3; }
.ai-drawer-item div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ai-drawer-item strong { font-family: var(--ai-serif); font-weight: 400; font-size: 15px; line-height: 1.3; }
.ai-drawer-item small { font-size: 12.5px; color: var(--ai-muted); }
.ai-drawer-item .ai-drawer-extra { color: var(--ai-label); }
.ai-drawer-price { margin-top: 4px; font-size: 13px; font-weight: 600; }
.ai-drawer-empty { padding: 20px; color: var(--ai-muted); }
.ai-drawer-foot { display: grid; gap: 10px; padding: 16px 20px 20px; border-top: 1px solid rgb(31 40 55 / .08); }
.ai-drawer-sub { display: flex; justify-content: space-between; align-items: baseline; margin: 0; font-size: 14px; }
.ai-drawer-sub strong { font-size: 19px; }
.ai-drawer-ship { margin: -4px 0 4px; font-size: 12.5px; color: var(--ai-muted); }
.ai-drawer-foot .ai-cta, .ai-drawer-foot .ai-btn-ghost { justify-content: center; width: 100%; min-height: 48px; text-align: center; }
.ai-drawer-continue { min-height: 40px; border: 0; background: none; color: var(--ai-label); font-size: 13.5px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
@media (max-width: 640px) {
  .ai-drawer-panel { top: auto; left: 8px; right: 8px; bottom: calc(8px + env(safe-area-inset-bottom, 0px)); width: auto; max-height: 82vh; border-radius: 22px; transform: translateY(110%); }
  .ai-drawer-head h2 { font-size: 19px; }
}

.ai-buybar { display: none; }
@media (max-width: 768px) {
  .ai-buybar { position: fixed; z-index: 80; left: 8px; right: 8px; bottom: calc(8px + env(safe-area-inset-bottom, 0px)); display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 8px;
    padding: 8px 8px 8px 14px; border-radius: 20px; background: linear-gradient(160deg, rgb(255 255 255 / .9), rgb(244 246 249 / .82)); border: 1px solid rgb(255 255 255 / .9);
    -webkit-backdrop-filter: blur(20px) saturate(140%); backdrop-filter: blur(20px) saturate(140%); box-shadow: 0 12px 32px rgb(31 40 55 / .2);
    transform: translateY(140%); transition: transform .25s ease; }
  .ai-buybar.is-on { transform: none; }
  .ai-buybar-info { display: flex; flex-direction: column; min-width: 0; }
  .ai-buybar-info span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 11.5px; color: var(--ai-muted); }
  .ai-buybar-info strong { font-size: 15px; white-space: nowrap; }
  .ai-buybar button { min-height: 44px; padding: 0 14px; border-radius: 999px; font-size: 13px; font-weight: 650; cursor: pointer; white-space: nowrap; }
  .ai-buybar-add { border: 0; color: #fff; background: linear-gradient(135deg, var(--ai-blue), var(--ai-blue-deep)); }
  .ai-buybar-buy { border: 1px solid rgb(31 40 55 / .14); color: var(--ai-ink); background: rgb(255 255 255 / .8); }
  html.ai-buybar-on .ai-wa-float { opacity: 0; pointer-events: none; }
}

.ai-panel-note { margin: 0 0 12px; padding: 10px 14px; border-radius: 12px; background: var(--ai-blue-tint); font-size: 13px; color: var(--ai-blue-deep); }
.ai-set-rows { grid-column: 1 / -1; display: grid; gap: 8px; }
.ai-set-row { display: grid; grid-template-columns: minmax(0, 1fr) 72px 40px; gap: 8px; align-items: center; }
.ai-set-row select, .ai-set-row input { width: 100%; min-height: 44px; }
/* The extras' own checkbox is hidden (.ai-addon input); the quantity field in a Gallery Set row is not. */
.ai-addon .ai-set-row input { position: static; opacity: 1; pointer-events: auto; }
.ai-set-remove { width: 40px; height: 40px; min-height: 0; padding: 0; border-radius: 10px; border: 1px solid var(--ai-field); background: #fff; color: var(--ai-muted); font-size: 18px; line-height: 1; cursor: pointer; }
.ai-set-foot { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.ai-set-add { min-height: 32px; padding: 0; border: 0; background: none; color: var(--ai-blue-deep); font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.ai-set-sub { font-size: 13px; font-weight: 650; color: var(--ai-blue-deep); }
.ai-field-error { margin: 6px 0 0; font-size: 13px; color: var(--ai-danger); }
.ai-field-error[hidden] { display: none; }
.ai-map-notes textarea.is-invalid { border-color: var(--ai-danger); box-shadow: 0 0 0 3px rgb(200 60 60 / .12); }
.ai-form-error { flex: 1 0 100%; margin: 0 0 10px; padding: 10px 14px; border-radius: 12px; background: #fbeceb; color: var(--ai-danger); font-size: 13px; }
.arteva-intl button.single_add_to_cart_button.loading { opacity: .7; cursor: progress; }

/* ---------- Parity P3 (Owner, 29 Oct) ---------- */
.ai-cross { margin-top: 48px; }
.ai-cross h2 { font-size: clamp(28px, 3vw, 40px); }
@media (min-width: 1000px) and (max-width: 1199px) { .ai-cross ul.products li.product:nth-child(4) { display: none; } }
/* Checkout summary: the photo has its own column, so the size, frame and "For" lines stay aligned with the name. */
.woocommerce-checkout-review-order-table td.product-name:has(.ai-co-thumb) { position: relative; padding-left: 62px; }
.ai-co-thumb { position: absolute; left: 8px; top: 14px; width: 44px; height: 44px; margin: 0; border-radius: 8px; object-fit: cover; background: #eef0f3; }
/* Phones stack the summary rows without cell padding (padding: 0 !important above), so the photo column is made here. */
@media (max-width: 768px) {
  .arteva-intl table.woocommerce-checkout-review-order-table td.product-name:has(.ai-co-thumb) { padding-left: 54px !important; min-height: 44px; }
  .arteva-intl table.woocommerce-checkout-review-order-table .ai-co-thumb { left: 0; top: 2px; }
}
.ai-another-city { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 24px; align-items: center; margin-top: 32px; padding: 24px; border-radius: var(--ai-r-md); }
.ai-another-city img { width: 120px; height: 150px; object-fit: cover; border-radius: 14px; }
.ai-another-city h2 { margin: 4px 0 6px; font-size: clamp(24px, 2.6vw, 32px); }
.ai-another-city p { margin: 0 0 14px; max-width: 560px; color: var(--ai-muted); }
@media (max-width: 640px) {
  .ai-another-city { grid-template-columns: 72px minmax(0, 1fr); gap: 14px; padding: 16px; }
  .ai-another-city img { width: 72px; height: 90px; border-radius: 10px; }
  .ai-another-city p { font-size: 13.5px; }
}

/* Continue with Google: one quiet white pill, like the store's other secondary buttons (Nextend's own skin overridden). */
/* 3px sides, like WooCommerce's form rows, so the Google button lines up with Log in. */
.ai-glogin { margin-top: 18px; padding: 0 3px; }
.ai-glogin-or { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ai-muted); }
.ai-glogin-or::before, .ai-glogin-or::after { content: ""; flex: 1; height: 1px; background: rgb(31 40 55 / .12); }
.ai-glogin div.nsl-container { display: block; }
.ai-glogin div.nsl-container .nsl-container-buttons,
.ai-glogin div.nsl-container.nsl-container-block .nsl-container-buttons { display: block; width: 100%; padding: 0; }
.ai-glogin div.nsl-container .nsl-container-buttons a[data-plugin="nsl"] { display: block; margin: 0; text-decoration: none; }
.ai-glogin div.nsl-container .nsl-button { display: flex !important; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 48px; padding: 0 18px;
  border: 1px solid var(--ai-field) !important; border-radius: 999px !important; background: #fff !important; box-shadow: none !important; color: var(--ai-ink) !important; transition: border-color .15s ease, box-shadow .15s ease; }
.ai-glogin div.nsl-container .nsl-button:hover { border-color: var(--ai-blue) !important; box-shadow: 0 0 0 3px rgb(138 104 84 / .12) !important; }
.ai-glogin div.nsl-container .nsl-button-svg-container { display: flex; flex: none; padding: 0 !important; }
.ai-glogin div.nsl-container .nsl-button-svg-container svg { width: 20px; height: 20px; }
.ai-glogin div.nsl-container .nsl-button-label-container { margin: 0 !important; padding: 0 !important; font: 600 14.5px/1.2 var(--ai-sans); color: var(--ai-ink); }
.ai-glogin div.nsl-container .nsl-button-label-container b { font-weight: 650; }
.ai-glogin-note { margin: 10px 0 0; font-size: 12.5px; text-align: center; color: var(--ai-muted); }

/* Show-password: WooCommerce's eye button sits inside the password field (it was showing as an empty pill under it). */
.arteva-intl .password-input { position: relative; display: block; }
.arteva-intl .password-input input { padding-right: 48px; }
.arteva-intl button.show-password-input, .arteva-intl .show-password-input { position: absolute; top: 50%; right: 6px; width: 36px; height: 36px; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 10px; transform: translateY(-50%); cursor: pointer;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / 20px no-repeat; box-shadow: none; }
.arteva-intl .show-password-input.display-password { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l18 18M10.6 5.1A10.9 10.9 0 0 1 12 5c6.4 0 10 7 10 7a17.6 17.6 0 0 1-3.2 4.1M6.6 6.6C3.7 8.5 2 12 2 12s3.6 7 10 7a9.8 9.8 0 0 0 5.4-1.6'/%3E%3Cpath d='M9.9 9.9a3 3 0 0 0 4.2 4.2'/%3E%3C/svg%3E"); }
.arteva-intl .show-password-input::after, .arteva-intl .show-password-input::before { content: none !important; }
.arteva-intl .show-password-input:hover { background-color: rgb(31 40 55 / .05); }
/* Checkout log-in: the button as wide as the fields, and the Google button flush with them (no form-row inset here). */
.woocommerce-checkout form.woocommerce-form-login .button { width: 100%; min-height: 48px; border-radius: 999px; }
.woocommerce-checkout form.woocommerce-form-login .ai-glogin { padding: 0; }
.woocommerce-checkout form.woocommerce-form-login { max-width: 560px; margin-left: auto; margin-right: auto; }

/* Cards (Owner, 30 Oct): photo centred in the 4:5 box; the rating line is always there (empty without reviews),
   so title, rating and the "From US$X · 6 sizes" line sit level across a row. */
.arteva-intl ul.products li.product a img { object-position: center; }
.arteva-intl ul.products li.product .ai-loop-rating { grid-column: 1 / -1; min-height: 18px; line-height: 18px; }
.arteva-intl ul.products li.product .ai-loop-rating.is-empty { visibility: hidden; }
/* Product page: 12px between the main photo and the thumbnails, as between the thumbnails and the trust strip. */
body.arteva-intl div.product div.images .flex-control-thumbs { margin-top: 12px !important; }

/* ---------- Product page tidy-up (Owner, 30 Oct) ---------- */
/* The photo stays a calm size: the top area is at most 1160px wide, split in two equal columns. */
@media (min-width: 900px) {
  /* Laptop (Owner, 30 Oct): photo (at most 600px) and text (at most 640px) centred together, no box behind them, so
     they float on the page and nothing leans to the left on wide screens. */
  .arteva-intl div.product .ai-product-top { grid-template-columns: minmax(0, 600px) minmax(0, 640px); justify-content: center; column-gap: 56px;
    padding: 8px 0 0; background: none; border: 0; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .arteva-intl div.product .summary { max-width: none; padding: 6px 0 0; }
}
.arteva-intl div.product .product_title { font-size: clamp(28px, 2.4vw, 36px); line-height: 1.12; letter-spacing: -0.01em; }
@media (max-width: 767px) { .arteva-intl div.product .product_title { font-size: 24px; } }
/* One rhythm: 16px between the blocks of the summary and of the buying form. */
.arteva-intl div.product .summary, .arteva-intl div.product form.cart { gap: 16px; }
.arteva-intl div.product .single_variation_wrap { gap: 12px; }
.arteva-intl div.product .summary > .ai-eyebrow + .product_title { margin-top: -8px; }
/* Small notes are plain lines, not boxes. */
.ai-panel-note, .ai-price-hint, .ai-size-info { margin: 0; padding: 0; border-radius: 0; background: none; font-size: 12.5px; line-height: 1.45; color: var(--ai-muted); }
.ai-panel-note { margin-bottom: -6px; }
/* The total already shows the wall art price, so the separate "Wall art" price line is not repeated. */
.arteva-intl div.product .woocommerce-variation-price { display: none; }
/* "Clear" sits beside the Frame Color label instead of under the tiles (no empty gap). */
.arteva-intl div.product form.cart .variations tr { position: relative; }
.arteva-intl div.product form.cart .variations .reset_variations { position: absolute; top: 0; right: 0; margin: 0; line-height: 1.4; }
/* Extra cards: same height, quiet, the explanation only behind the "i". */
.ai-addons-list { grid-auto-rows: 1fr; }
.ai-addon { min-height: 72px; }
.ai-addon.is-on .ai-addon-explain { display: none; }
/* Buying information: one block of three short lines. */
.ai-buy-info { list-style: none; margin: 0; padding: 14px 16px; display: grid; gap: 10px; border-radius: 16px; background: rgb(255 255 255 / .6); border: 1px solid rgb(255 255 255 / .85); font-size: 13px; line-height: 1.5; color: var(--ai-muted); }
.ai-buy-info li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; align-items: start; }
.ai-buy-info svg { width: 18px; height: 18px; margin-top: 1px; color: var(--ai-blue); }
.ai-buy-info strong { color: var(--ai-ink); font-weight: 600; }
.ai-buy-info a { color: var(--ai-blue-deep); }
/* Phones: frame tiles keep a readable shape. */
@media (max-width: 767px) {
  .ai-opts--frame .ai-opt img { aspect-ratio: 2 / 1; }
}
.ai-label-note { font-weight: 500; color: var(--ai-muted); }
/* Footer type one step smaller (Owner, 30 Oct). */
.ai-footer-card { font-size: 12.5px; }
.ai-footer-card ul a { min-height: 32px; font-size: 13px; }
.arteva-intl a.ai-cta.ai-footer-wa, .ai-footer-wa { min-height: 40px; font-size: 12.5px; }
.ai-footer-small, .ai-footer-base { font-size: 11.5px; }
.ai-footer-card h2 { font-size: 10px; }
.ai-footer-card p.ai-pay-row { font-size: 12.5px; }

/* Frame tiles: the colour's name always under its tile; the chosen one in mocha (Arteva Global check, 30 Oct). */
.ai-frame-name { visibility: visible; font-weight: 500; color: var(--ai-muted); font-size: 12.5px; }
.ai-frame-opt.is-on .ai-frame-name { font-weight: 650; color: var(--ai-blue-deep); }
/* Cards everywhere (shop, categories, home, related): "From US$X" left and the sizes right, on one line. */
.arteva-intl ul.products li.product a.woocommerce-LoopProduct-link { grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; }
.arteva-intl ul.products li.product a.woocommerce-LoopProduct-link > :not(.price):not(.ai-sizes) { grid-column: 1 / -1; }
.arteva-intl ul.products li.product .ai-sizes { text-align: right; white-space: nowrap; }
@media (max-width: 999px) {
  .arteva-intl ul.products li.product a.woocommerce-LoopProduct-link { grid-template-columns: minmax(0, 1fr) auto; column-gap: 6px; }
  .arteva-intl ul.products li.product .price { white-space: nowrap; }
  .arteva-intl ul.products li.product .ai-sizes { padding: 0 4px 6px 0; font-size: 11.5px; }
}
/* No empty rating line in a list where no card has a rating. */
.arteva-intl ul.products:not(:has(.ai-loop-rating:not(.is-empty))) .ai-loop-rating.is-empty { display: none; }
/* Phones: the floating WhatsApp button is a small round icon. */
@media (max-width: 767px) {
  .ai-wa-float { min-height: 0; padding: 4px; }
  .ai-wa-float svg { width: 36px; height: 36px; padding: 7px; }
}
/* Photo viewer (PhotoSwipe): a light glass blur over the page instead of solid black, and the photo in a smaller frame,
   not edge to edge (Owner, 30 Oct). PhotoSwipe sizes the photo to .pswp__scroll-wrap, so the inset makes it smaller. */
.pswp__bg { background: rgb(236 239 244 / .6) !important; -webkit-backdrop-filter: blur(22px) saturate(140%); backdrop-filter: blur(22px) saturate(140%); }
.pswp__scroll-wrap { top: 6vh; bottom: 6vh; left: 8vw; right: 8vw; width: auto; height: auto; }
.pswp__top-bar, .pswp__caption { background: transparent !important; }
.pswp__button, .pswp__button--arrow--left::before, .pswp__button--arrow--right::before { filter: invert(1); }
.pswp__counter { color: var(--ai-ink); opacity: .7; }
.pswp__img { border-radius: 14px; box-shadow: 0 24px 60px rgb(31 40 55 / .22); }
@media (max-width: 767px) { .pswp__scroll-wrap { top: 5vh; bottom: 5vh; left: 3vw; right: 3vw; } }

/* Bag drawer (Owner, 30 Oct): roomier on desktop, larger photos, a thin cross on every piece. */
@media (min-width: 641px) {
  .ai-drawer-panel { width: min(520px, calc(100% - 24px)); }
  .ai-drawer-head { padding: 22px 24px 14px; }
  .ai-drawer-head h2 { font-size: 24px; }
  .ai-drawer-list { padding: 0 24px; }
  .ai-drawer-foot { padding: 18px 24px 24px; }
}
.ai-drawer-item { position: relative; grid-template-columns: 80px minmax(0, 1fr); gap: 14px; padding: 14px 32px 14px 0; }
.ai-drawer-item img { width: 80px; height: 100px; border-radius: 12px; }
.ai-drawer-item strong { font-size: 16px; }
.ai-drawer-item small { font-size: 13px; }
.ai-drawer-price { font-size: 14px; }
.ai-drawer-remove { position: absolute; top: 14px; right: 0; width: 28px; height: 28px; min-height: 0; padding: 0; border: 0; border-radius: 8px; background: transparent; cursor: pointer; }
.ai-drawer-remove::before, .ai-drawer-remove::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 1.5px; background: var(--ai-muted); }
.ai-drawer-remove::before { transform: translate(-50%, -50%) rotate(45deg); }
.ai-drawer-remove::after { transform: translate(-50%, -50%) rotate(-45deg); }
.ai-drawer-remove:hover { background: rgb(31 40 55 / .06); }
.ai-drawer-remove:hover::before, .ai-drawer-remove:hover::after { background: var(--ai-ink); }
.ai-drawer-item.is-removing { opacity: .4; pointer-events: none; }
@media (max-width: 640px) {
  .ai-drawer-item { grid-template-columns: 64px minmax(0, 1fr); }
  .ai-drawer-item img { width: 64px; height: 80px; }
  .ai-drawer-item strong { font-size: 15px; }
}
/* Product page edges line up (Owner, 30 Oct: precise): breadcrumb, tabs, the City Map block and related products take
   the same centred width as the photo and text above them. */
@media (min-width: 900px) {
  .single-product .woocommerce-breadcrumb, .single-product div.product .ai-tabs, .single-product div.product .ai-another-city,
  .single-product div.product .related.products, .single-product div.product .upsells.products { max-width: 1296px; margin-left: auto; margin-right: auto; }
}
/* Tablets: one centred column of 600px, so the photo is not as tall as the screen. */
@media (min-width: 600px) and (max-width: 899px) {
  .single-product .woocommerce-breadcrumb, .single-product div.product .ai-product-top, .single-product div.product .ai-tabs,
  .single-product div.product .ai-another-city, .single-product div.product .related.products, .single-product div.product .upsells.products { max-width: 600px; margin-left: auto; margin-right: auto; }
}

/* ---------- 1.5.57 (Arteva Global, 30 Oct) ---------- */
/* The slider puts the photo box at the end of the gallery when it starts; the trust strip stays last anyway, so it
   never shows above the photo while the page opens. */
.arteva-intl div.product .woocommerce-product-gallery { display: flex; flex-direction: column; }
.arteva-intl div.product .woocommerce-product-gallery > .ai-trust-strip { order: 1; }
/* The floating WhatsApp button is the round icon up to 1024px, so the pill does not sit over the trust strip. */
@media (max-width: 1024px) {
  .ai-wa-float { min-height: 0; padding: 4px; }
  .ai-wa-float span { display: none; }
  .ai-wa-float svg { width: 36px; height: 36px; padding: 7px; }
}
/* Cards: "From US$15" bold, the sizes in the same size (13px) and regular. */
.arteva-intl ul.products li.product .price, .arteva-intl ul.products li.product .price .amount, .ai-best-price, .ai-best-price .amount { font-size: 13px; font-weight: 600; }
.arteva-intl ul.products li.product .ai-sizes { font-size: 13px; font-weight: 400; }
/* Square photos sit whole in the 4:5 card, centred, on the colour of their own edges (intl.js squareCards). */
.arteva-intl ul.products li.product a img.ai-sq, .ai-best-card img.ai-sq { object-fit: contain; object-position: center; background-color: #eef0f3; }
/* Wishlist heart beside Add to bag, the same height; Buy now stays on its own row below. */
.arteva-intl div.product .ai-wish-icon { flex: 0 0 54px; width: 54px; min-height: 54px; margin: 0; padding: 0; justify-content: center; border-radius: 999px; background: rgb(255 255 255 / .75); border: 1px solid var(--ai-line); }
.arteva-intl div.product .ai-wish-icon svg { width: 22px; height: 22px; }
.ai-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* Hover on the mocha buttons (Owner, 30 Oct): WooCommerce's button:hover removes the gradient (background-image: none),
   which left white text on the light page. The gradient stays, a step darker. */
body.arteva-intl .button.alt:hover, body.arteva-intl button.single_add_to_cart_button:hover,
body.arteva-intl .checkout-button:hover, body.arteva-intl #place_order:hover {
  background-image: linear-gradient(180deg, rgb(160 126 105 / .98), rgb(122 90 71 / .98)); color: #fff; filter: none;
}
/* Quantity, Add to bag and the heart share one row at every width (Add to bag takes what is left). */
.arteva-intl div.product button.single_add_to_cart_button { flex: 1 1 0; min-width: 0; }
@media (max-width: 480px) { .arteva-intl div.product button.single_add_to_cart_button { padding: 0 12px; } }
/* PayPal's message box is empty until PayPal fills it; empty, it takes no gap (the buying info sits closer). */
.arteva-intl div.product .summary > .ppcp-messages:empty { display: none; }
/* WooCommerce's clearfix pseudo-elements became empty flex items in the buying form and added a 16px gap under it. */
.arteva-intl div.product form.cart::before, .arteva-intl div.product form.cart::after { display: none; }
/* Shop, categories and search on desktop (Owner, 30 Oct): five cards a row, still full width, so the photos are not
   oversized on large screens. */
@media (min-width: 1200px) {
  body.arteva-intl.post-type-archive-product ul.products, body.arteva-intl.tax-product_cat ul.products, body.arteva-intl.search ul.products { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 28px 18px; }
}
/* The title is the first line of the summary; on desktop its letters start level with the top of the photo. */
@media (min-width: 900px) {
  .arteva-intl div.product .summary { padding-top: 0; }
  .arteva-intl div.product .summary > .product_title:first-child { margin-top: -5px; }
}

/* ---------- 1.5.66: QA total, 30 Oct ---------- */
/* One type family: buttons, fields and the small "i" use Inter like the rest (browsers default to Arial/Georgia). */
:where(button, input, select, textarea) { font-family: inherit; }
.ai-addon-info { font: italic 600 11px/1 var(--ai-sans); }
/* Floating WhatsApp: a 48px round button at the bottom right on every screen; intl.js hides it whenever content is
   behind it. */
.ai-wa-float { left: auto; right: max(16px, env(safe-area-inset-right, 0px)); min-height: 0; padding: 4px; }
.ai-wa-float span { display: none; }
.ai-wa-float svg { width: 40px; height: 40px; padding: 8px; }
/* No reserved band under the footer on phones any more (the button steps aside by itself). */
@media (max-width: 767px) { .ai-footer { padding-bottom: 28px; } }
/* Header: the section the shopper is in. */
.ai-nav > ul > li.is-current > a { background: rgb(255 255 255 / .75); color: var(--ai-blue-deep); box-shadow: inset 0 -2px 0 var(--ai-blue); }
@media (max-width: 1023px) { .ai-header.is-menu-open .ai-nav > ul > li.is-current > a { box-shadow: inset 3px 0 0 var(--ai-blue); } }
/* Card rating line: the same size and colour as the price line under it. */
.arteva-intl ul.products li.product .ai-loop-rating { font-size: 13px; color: var(--ai-muted); }
/* Extras' own page: the 240px picture is shown at its own size on a soft panel, never stretched. */
.ai-addon-page div.product .woocommerce-product-gallery__image { display: grid; place-items: center; min-height: 320px; border-radius: 20px; background: linear-gradient(160deg, #fff, #eef0f3); }
.ai-addon-page div.product .woocommerce-product-gallery__image img { width: auto !important; max-width: min(100%, 240px); height: auto; box-shadow: none; }
.ai-addon-page div.product .woocommerce-product-gallery__trigger { display: none; }
/* Checkout summary: size and frame on one quiet line ("30 × 40 cm · Black"); the extras' small white pictures get a
   frame so they show on the glass. */
body.arteva-intl table.woocommerce-checkout-review-order-table td.product-name dl.variation { display: flex; flex-wrap: wrap; gap: 0 6px; margin: 4px 0 0; font-size: 12.5px; color: var(--ai-muted); }
body.arteva-intl table.woocommerce-checkout-review-order-table td.product-name dl.variation dt { display: none; }
body.arteva-intl table.woocommerce-checkout-review-order-table td.product-name dl.variation dd { display: inline; margin: 0; }
body.arteva-intl table.woocommerce-checkout-review-order-table td.product-name dl.variation dd p { display: inline; margin: 0; }
body.arteva-intl table.woocommerce-checkout-review-order-table td.product-name dl.variation dd ~ dd::before { content: "· "; }
.ai-co-thumb { background: #fff; border: 1px solid var(--ai-line); }
.woocommerce-checkout-review-order-table tr.ai-ship-head th { padding-bottom: 0; text-align: left; }
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td { text-align: left; }
.woocommerce-checkout-review-order-table .ai-ship-refused { margin: 0; text-align: left; }
/* Cart on phones: an extra's row shows its price once and no lone "1". */
@media (max-width: 767px) {
  .arteva-intl table.cart tr.ai-addon-row td.product-price, .arteva-intl table.cart tr.ai-addon-row td.product-quantity { display: none; }
}
/* Footer: social links with their icon and a 44px tap area. */
.ai-social { gap: 4px 14px; flex-wrap: wrap; }
.ai-social a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; }
.ai-social svg { width: 18px; height: 18px; flex: none; }
/* Product tabs: the open tab is clearly marked. */
.ai-tab-bar button[aria-selected="true"] { box-shadow: 0 1px 3px rgb(31 53 88 / .12), inset 0 -2px 0 var(--ai-blue); }
/* Buttons at the top of Track your order and Contact. */
.ai-prose .ai-page-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 8px; }
.ai-prose .ai-page-actions a { text-decoration: none; }
/* The WhatsApp button shows only after its first look at what is behind it (no flash over the title on load). */
.ai-wa-float:not(.is-ready) { opacity: 0; pointer-events: none; }
/* Buy now (Owner, 30 Oct): always clearly visible, a mocha outline with mocha text, also before a size and frame are
   chosen (it then asks for them, like Add to bag). */
body.arteva-intl div.product button.ai-buy-now, body.arteva-intl div.product button.ai-buy-now.disabled, body.arteva-intl div.product button.ai-buy-now:disabled {
  opacity: 1; filter: none; border: 1.5px solid #8a6854; background: rgb(255 255 255 / .92); color: #6f4f3d; font-weight: 650;
}
body.arteva-intl div.product button.ai-buy-now:hover { background: #f6efe9; color: #5a3f30; border-color: #6f4f3d; }
/* Buying row (Owner, 30 Oct): Add to bag, the quantity and the heart are as tall as Buy now (44px), on every screen. */
body.arteva-intl div.product button.single_add_to_cart_button { min-height: 44px; height: 44px; padding-top: 0; padding-bottom: 0; font-size: 14.5px; }
body.arteva-intl div.product button.ai-buy-now { min-height: 44px; height: 44px; }
body.arteva-intl div.product .ai-qty { height: 44px; }
body.arteva-intl div.product .ai-qty .qty, body.arteva-intl div.product .ai-qty .ai-step { min-height: 42px; height: 42px; }
body.arteva-intl div.product .ai-step { width: 32px; font-size: 18px; }
body.arteva-intl div.product .ai-wish-icon { flex: 0 0 44px; width: 44px; min-height: 44px; height: 44px; }
body.arteva-intl div.product .ai-wish-icon svg { width: 19px; height: 19px; }

/* Delivery row with one rate (Owner, 30 Oct): price right like Subtotal, the Rayspeed note in small type under it; the
   pair keeps the same space to the lines above and below as the other summary rows. */
.woocommerce-checkout-review-order-table tr.ai-ship-one td { text-align: right !important; }
/* In the cart the price sits where Subtotal's does: left in the wide table, right on phones. */
.cart_totals tr.ai-ship-one td { text-align: left !important; }
@media (max-width: 767px) { body.arteva-intl .cart_totals table tr.ai-ship-one td, body.arteva-intl .cart_totals table tr.ai-ship-one td ul, body.arteva-intl .cart_totals table tr.ai-ship-one td p { text-align: right !important; } }
.ai-ship-price { white-space: nowrap; }
tr.ai-ship-note-row td { text-align: left !important; }
tr.ai-ship-note-row small { display: block; font-size: 12px; line-height: 1.4; color: var(--ai-muted); font-weight: 400; }
/* Same 14px from text to line as Subtotal and Total: 14px above "Delivery", 14px under the Rayspeed note, and the
   line drawn under the pair, not between them. */
body.arteva-intl table.shop_table tr.ai-ship-one > th, body.arteva-intl table.shop_table tr.ai-ship-one > td { padding-top: 16px; padding-bottom: 2px; border-bottom: 0; }
body.arteva-intl table.shop_table tr.ai-ship-note-row > td { padding-top: 0; padding-bottom: 16px; border-top: 0; }
@media (max-width: 999px) {
  body.arteva-intl table.woocommerce-checkout-review-order-table tr.ai-ship-one { padding: 16px 0 2px; }
  body.arteva-intl table.woocommerce-checkout-review-order-table tr.ai-ship-note-row { padding: 0 0 16px; border-top: 0; }
  body.arteva-intl table.woocommerce-checkout-review-order-table tr.ai-ship-one td { flex: 0 1 auto; }
}

/* Coupon (Owner, 30 Oct): the field and a short "Apply" button side by side on one line, also on phones; the field
   already says "Coupon code". */
body.arteva-intl table.cart td.actions .coupon { display: flex; flex-wrap: nowrap; gap: 8px; align-items: stretch; }
body.arteva-intl table.cart td.actions .coupon .input-text { flex: 1 1 0; min-width: 0; width: auto; }
body.arteva-intl table.cart td.actions .coupon .button { flex: 0 0 auto; width: auto; padding: 0 20px; white-space: nowrap; }
@media (max-width: 767px) { body.arteva-intl table.cart td.actions .coupon { width: 100%; } }
.woocommerce-checkout.arteva-intl form.checkout_coupon p.form-row-first { display: inline-block; vertical-align: middle; width: calc(100% - 106px); margin: 0 8px 0 0; }
.woocommerce-checkout.arteva-intl form.checkout_coupon p.form-row-last { display: inline-block; vertical-align: middle; width: 92px; margin: 0; }
.woocommerce-checkout.arteva-intl form.checkout_coupon p.form-row-first input { width: 100%; }
.woocommerce-checkout.arteva-intl form.checkout_coupon p.form-row-last .button { width: 100%; padding: 0 12px; white-space: nowrap; }
.woocommerce-checkout.arteva-intl form.checkout_coupon p.form-row-first:not(:only-child) { flex: 1 1 0; }

/* Cart and checkout form controls in one family (Owner, 30 Oct): coupon field, Apply and Update cart all 46px tall and
   rounded like the buttons; Update cart reads clearly even before anything changes. */
body.arteva-intl table.cart td.actions .coupon .input-text, body.woocommerce-checkout.arteva-intl form.checkout_coupon .input-text { height: 46px; min-height: 46px; border-radius: 999px; padding: 0 18px; box-sizing: border-box; }
body.arteva-intl table.cart td.actions .button, body.woocommerce-checkout.arteva-intl form.checkout_coupon .button { height: 46px; min-height: 46px; border-radius: 999px; box-sizing: border-box; font-size: 14px; font-weight: 650; }
body.arteva-intl table.cart td.actions button[name="update_cart"] { opacity: 1; border: 1px solid var(--ai-line); color: var(--ai-ink); }
body.arteva-intl table.cart td.actions button[name="update_cart"]:disabled { color: var(--ai-muted); }
.cart_totals small.ai-ship-note { display: block; margin: 2px 0 6px; font-size: 12px; line-height: 1.4; color: var(--ai-muted); font-weight: 400; }
/* WooCommerce's no-JavaScript fallback button beside the country field is never shown. */
noscript button[name="woocommerce_checkout_update_totals"] { display: none; }
/* Cart on wider screens (Owner, 30 Oct): one row, the coupon field (fixed width) and Apply on the left, Update cart on
   the right. Phones keep the field and Apply on one line with Update cart under them. */
@media (min-width: 768px) {
  body.arteva-intl table.cart td.actions .coupon { display: inline-flex; width: auto; float: left; }
  body.arteva-intl table.cart td.actions .coupon .input-text { flex: 0 0 260px; width: 260px; }
  body.arteva-intl table.cart td.actions > button[name="update_cart"] { float: right; width: auto; margin: 0; padding: 0 22px; }
}
/* Checkout on wide screens (Owner, 30 Oct): the page title, notices, form and order summary sit in one centred
   column, so the eye does not travel across the whole screen. 1180px on laptops, growing with the screen to 1480px
   on large monitors (27"), the order summary from 400px to 480px. */
@media (min-width: 1000px) {
  .woocommerce-checkout.arteva-intl .ai-main > .ai-entry, .woocommerce-checkout.arteva-intl .ai-main > .ai-page-head { max-width: clamp(1180px, 72vw, 1480px); margin-left: auto; margin-right: auto; }
  .woocommerce-checkout.arteva-intl form.checkout { grid-template-columns: minmax(0, 1fr) clamp(400px, 24vw, 480px); gap: 0 28px; }
}
/* Card photos always fill the card (Owner, 30 Oct): the shorter side fits, the longer side is cropped, never an empty
   band at the sides or top and bottom. This replaces the "show square photos whole" rule above. */
.arteva-intl ul.products li.product a img, .arteva-intl ul.products li.product a img.ai-sq, .ai-best-card img, .ai-best-card img.ai-sq { object-fit: cover !important; object-position: center; }

/* ---------- Order received as a printed receipt (Owner, 30 Oct) ---------- */
.woocommerce-order-received.arteva-intl .ai-main > .ai-page-head { justify-content: center; text-align: center; }
.woocommerce-order-received.arteva-intl .ai-main > .ai-page-head h1 { font-size: clamp(30px, 3vw, 40px); }
.woocommerce-order-received.arteva-intl .woocommerce-order {
  position: relative; max-width: 560px; margin: 0 auto 48px; padding: 32px clamp(20px, 4vw, 36px) 40px; border-radius: 6px 6px 0 0;
  background: #fff; box-shadow: 0 18px 40px rgb(31 40 55 / .12); font-size: 14px; font-variant-numeric: tabular-nums; color: var(--ai-ink);
}
/* Torn paper edge under the slip. */
.woocommerce-order-received.arteva-intl .woocommerce-order::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -12px; height: 12px;
  background: linear-gradient(-45deg, transparent 8px, #fff 0) 0 0 / 16px 12px repeat-x, linear-gradient(45deg, transparent 8px, #fff 0) 0 0 / 16px 12px repeat-x;
}
.ai-receipt-head { display: grid; justify-items: center; gap: 4px; padding-bottom: 18px; margin-bottom: 18px; border-bottom: 1px dashed #c9ccd2; text-align: center; }
.ai-receipt-head img { width: 130px; height: auto; }
.ai-receipt-head span { font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--ai-label); }
.ai-receipt-head small { font-size: 12px; color: var(--ai-muted); }
.woocommerce-order-received.arteva-intl .woocommerce-thankyou-order-received { margin: 0 0 18px; padding: 0; background: none; border: 0; box-shadow: none; display: block; text-align: center; font-family: var(--ai-serif); font-size: 20px; line-height: 1.3; }
/* Summary lines: label left, value right, dashed rules. */
.woocommerce-order-received.arteva-intl ul.woocommerce-order-overview { display: block; width: auto; margin: 0 0 6px; padding: 0 0 12px; border-bottom: 1px dashed #c9ccd2; }
.woocommerce-order-received.arteva-intl ul.woocommerce-order-overview li { display: flex; justify-content: space-between; gap: 16px; float: none; width: auto; border-right: 0; padding: 5px 0; margin: 0; background: none; border-radius: 0; font-size: 13px; text-transform: none; letter-spacing: 0; color: var(--ai-muted); }
.woocommerce-order-received.arteva-intl ul.woocommerce-order-overview li strong { display: inline; margin: 0; font-size: 13px; font-weight: 650; color: var(--ai-ink); text-align: right; }
.woocommerce-order-received.arteva-intl .woocommerce-order-details, .woocommerce-order-received.arteva-intl .woocommerce-customer-details { margin: 0; padding: 0; background: none; border: 0; box-shadow: none; }
.woocommerce-order-received.arteva-intl .woocommerce-order h2 { margin: 18px 0 8px; font-family: var(--ai-sans); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ai-label); text-align: center; }
.woocommerce-order-received.arteva-intl table.order_details { width: 100%; margin: 0; border: 0; border-collapse: collapse; background: none; }
.woocommerce-order-received.arteva-intl table.order_details thead { display: none; }
.woocommerce-order-received.arteva-intl table.order_details th, .woocommerce-order-received.arteva-intl table.order_details td { padding: 6px 0; border: 0; background: none; font-size: 13.5px; vertical-align: top; }
.woocommerce-order-received.arteva-intl table.order_details td.product-total, .woocommerce-order-received.arteva-intl table.order_details tfoot td { text-align: right; white-space: nowrap; }
.woocommerce-order-received.arteva-intl table.order_details tbody td { padding: 8px 0; }
.woocommerce-order-received.arteva-intl table.order_details td.product-name a { color: var(--ai-ink); text-decoration: none; font-weight: 600; }
.woocommerce-order-received.arteva-intl table.order_details .wc-item-meta { margin: 4px 0 0; padding: 0; list-style: none; font-size: 12.5px; color: var(--ai-muted); }
.woocommerce-order-received.arteva-intl table.order_details .wc-item-meta li { display: block; margin: 0; }
.woocommerce-order-received.arteva-intl table.order_details .wc-item-meta li strong, .woocommerce-order-received.arteva-intl table.order_details .wc-item-meta li p { display: inline; margin: 0; }
.woocommerce-order-received.arteva-intl table.order_details .wc-item-meta-label { font-weight: 500; margin-right: 4px !important; }
.woocommerce-order-received.arteva-intl table.order_details tfoot tr:first-child th, .woocommerce-order-received.arteva-intl table.order_details tfoot tr:first-child td { border-top: 1px dashed #c9ccd2; padding-top: 12px; }
.woocommerce-order-received.arteva-intl table.order_details tfoot th { text-align: left; font-weight: 500; color: var(--ai-muted); }
.woocommerce-order-received.arteva-intl table.order_details tfoot tr:nth-last-child(2) th, .woocommerce-order-received.arteva-intl table.order_details tfoot tr:nth-last-child(2) td { border-top: 1px dashed #c9ccd2; border-bottom: 1px dashed #c9ccd2; padding: 12px 0; font-size: 17px; font-weight: 700; color: var(--ai-ink); }
.woocommerce-order-received.arteva-intl table.order_details tfoot td small { display: block; }
/* Addresses: plain blocks, one under the other, no boxes. */
.woocommerce-order-received.arteva-intl .woocommerce-customer-details .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.woocommerce-order-received.arteva-intl .woocommerce-customer-details .col2-set > div { float: none; width: auto; margin: 0; }
.woocommerce-order-received.arteva-intl .woocommerce-customer-details address { margin: 0; padding: 0; border: 0; background: none; font-style: normal; font-size: 12.5px; line-height: 1.6; color: var(--ai-muted); }
.woocommerce-order-received.arteva-intl .woocommerce-customer-details h2 { text-align: left; }
.woocommerce-order-received.arteva-intl .woocommerce-customer-details { border-top: 1px dashed #c9ccd2; margin-top: 14px; }
@media (max-width: 520px) { .woocommerce-order-received.arteva-intl .woocommerce-customer-details .col2-set { grid-template-columns: 1fr; } }
/* ---------- Phone home, calmer (Owner, 30 Oct) ---------- */
@media (max-width: 767px) {
  /* Header: a slimmer bar; search, bag and menu are plain icons, the bag shows its number as a small badge. */
  .ai-header { min-height: 0; padding: 6px 6px 6px 14px; }
  .ai-logo img { width: 60px; height: auto; }
  .ai-actions { gap: 2px; }
  .ai-header .ai-search-toggle, .ai-header .ai-menu-toggle { width: 38px; height: 38px; min-height: 0; padding: 0; background: transparent; border: 0; box-shadow: none; }
  .ai-header .ai-search-toggle svg { width: 19px; height: 19px; }
  .ai-header .ai-menu-toggle span { width: 18px; }
  .ai-header a.ai-bag { position: relative; width: 38px; height: 38px; min-height: 0; padding: 0; gap: 0; font-size: 0; color: var(--ai-ink); background: transparent; border: 0; box-shadow: none; text-shadow: none; }
  .ai-header a.ai-bag::before { content: ""; width: 20px; height: 20px; background: currentColor;
    -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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1.2 12H6.2z'/%3E%3Cpath d='M9 8V6.5a3 3 0 0 1 6 0V8'/%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.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1.2 12H6.2z'/%3E%3Cpath d='M9 8V6.5a3 3 0 0 1 6 0V8'/%3E%3C/svg%3E") center / contain no-repeat; }
  .ai-header a.ai-bag .ai-bag-count { position: absolute; top: 3px; right: 2px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 999px; font-size: 10px; font-weight: 700; line-height: 16px; color: #fff; background: #8a6854; box-shadow: none; }

  /* The four promises: smaller type, icons and spacing on an even 2 × 2 grid. */
  .ai-features { gap: 14px 14px; padding: 16px 16px 14px; }
  .ai-feature { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 10px; align-items: start; }
  .ai-feature svg { width: 30px; height: 30px; padding: 7px; border-radius: 9px; }
  .ai-feature strong { display: block; font-size: 13px; line-height: 1.3; margin: 1px 0 2px; }
  .ai-feature span { display: block; font-size: 11.5px; line-height: 1.4; }
  .ai-features-pay { font-size: 12px; padding-top: 10px; }

  /* Best sellers: a swipeable row of larger cards (one and a bit on screen), thin edges, lighter glass. */
  .ai-best { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 16px; margin: 0 -16px; padding: 4px 16px 10px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .ai-best::-webkit-scrollbar { display: none; }
  .ai-best-card { flex: 0 0 78%; scroll-snap-align: start; padding: 4px 4px 12px; border: 1px solid rgb(255 255 255 / .7); background: rgb(255 255 255 / .55); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 8px 22px rgb(31 40 55 / .08); }
  .ai-best-card img { border-radius: 14px; }
  .ai-best-dots { display: flex; justify-content: center; gap: 6px; margin-top: 4px; }
  .ai-best-dots i { width: 6px; height: 6px; border-radius: 50%; background: rgb(31 40 55 / .2); transition: width .2s ease, background .2s ease; }
  .ai-best-dots i.is-on { width: 18px; border-radius: 3px; background: #8a6854; }
}
/* Wider screens keep the four-card grid. */
@media (min-width: 768px) { .ai-best-card:nth-child(n+5) { display: none; } }

/* ---------- Shop bar on phones (Owner, 30 Oct) ---------- */
/* Sort menu: our own chevron, set in from the right edge. */
.arteva-intl .woocommerce-ordering select { -webkit-appearance: none; appearance: none; padding-right: 42px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b6474' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center; background-size: 16px 16px; }
@media (max-width: 767px) {
  /* The categories are their own glass strip, one row that swipes sideways; search and sort sit below it. */
  .ai-shop-bar.ai-glass { display: block; padding: 0; background: transparent; border: 0; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .ai-shop-bar .ai-chips { display: flex; flex-wrap: nowrap; gap: 4px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; -webkit-overflow-scrolling: touch;
    padding: 5px; border-radius: 16px; background: rgb(255 255 255 / .6); border: 1px solid rgb(255 255 255 / .85); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 6px 18px rgb(31 40 55 / .06); }
  .ai-shop-bar .ai-chips::-webkit-scrollbar { display: none; }
  .ai-shop-bar .ai-chips a { flex: 0 0 auto; scroll-snap-align: start; min-height: 38px; padding: 0 14px; }
  .ai-shop-bar .ai-shop-tools { margin-top: 10px; gap: 8px; }
}
/* Narrow cards: the sizes go under "From US$X" so the two never touch. */
@media (max-width: 480px) {
  .arteva-intl ul.products li.product a.woocommerce-LoopProduct-link { grid-template-columns: minmax(0, 1fr); }
  .arteva-intl.arteva-intl ul.products li.product .price { padding-bottom: 0; margin-bottom: 0; }
  .arteva-intl ul.products li.product .ai-sizes { text-align: left; margin-top: -4px; padding: 0 4px 10px; font-size: 12px; line-height: 1.3; color: var(--ai-label); }
}
/* Sub-categories: a second, quieter row under the main categories (below search and sort on wide screens). */
.ai-shop-bar .ai-subchips { order: 3; flex: 1 0 100%; display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 0 0; border-top: 1px solid rgb(31 40 55 / .06); border-radius: 0; }
.ai-shop-bar .ai-subchips a { min-height: 34px; padding: 0 13px; border-radius: 999px; font-size: 12.5px; border: 1px solid rgb(31 40 55 / .08); background: rgb(255 255 255 / .45); }
.ai-shop-bar .ai-subchips a.is-active { background: #fff; border-color: transparent; }
@media (max-width: 1100px) { .ai-shop-bar .ai-subchips { order: 0; } }
@media (max-width: 767px) {
  .ai-shop-bar .ai-subchips { flex-wrap: nowrap; margin-top: 10px; padding: 0 1px; background: transparent; border: 0; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .ai-shop-bar .ai-subchips a { min-height: 34px; padding: 0 13px; }
}
/* Phones: the main categories stay just under the header while the shopper scrolls (Owner, 30 Oct). The bar itself
   steps aside (display: contents) so the strip can stick over the whole product list. */
@media (max-width: 767px) {
  .ai-shop-bar.ai-glass { display: contents; }
  .ai-shop-bar > .ai-chips:not(.ai-subchips) { position: sticky; top: 78px; z-index: 50; margin-top: 22px; background: rgb(255 255 255 / .82); }
  .ai-shop-bar .ai-shop-tools { margin-bottom: 30px; }
}
/* Logged-in admins: the sticky header sits under the WordPress toolbar, not behind it (Owner, 30 Oct). */
@media (min-width: 783px) { .admin-bar .ai-header-wrap { top: 32px; } }
@media (min-width: 601px) and (max-width: 782px) { .admin-bar .ai-header-wrap { top: 46px; } }
