/*
Theme Name: Aya Boutique
Theme URI: https://ayahboutique.com
Description: Luxury perfume boutique theme for AYA BOUTIQUE (child of Storefront). Arabic / RTL first. Peach / cream / dusty-rose palette.
Author: Vera Soft
Template: storefront
Version: 1.1.0
Text Domain: aya-boutique
*/

:root {
  /* peach / cream / dusty-rose palette (sampled from the owner's reference image, 2026-10-21) */
  --ink: #2c2124;
  --ink-2: #3d2d31;
  --ivory: #f8f0e2;
  --sand: #f2e0d0;
  --tan: #e4c4ae;
  --line: #e8d3c3;
  --gold: #c08a76;
  --gold-d: #8f5a4e;
  --gold-l: #efc3ab;
  --peach: #f2c7ae;
  --terra: #b5644f;
  --rose: #e6a59d;
  --rose-d: #d98c84;
  --plum: #6b4a50;
  --plum-d: #4f353b;
  --card: #fffaf4;
  --muted: #7a655e;
  --white: #fff;
  --wa: #25d366;
  --radius: 14px;
  --shadow: 0 10px 30px rgba(107, 74, 80, .12);
  --serif: 'Cormorant Garamond', 'Amiri', 'Times New Roman', serif;
  --sans: 'Tajawal', system-ui, -apple-system, 'Segoe UI', Tahoma, sans-serif;
}

/* ---------- base ---------- */
html { scroll-behavior: smooth; }
body, button, input, select, textarea { font-family: var(--sans); }
body { background: var(--ivory); color: var(--ink); font-size: 16px; line-height: 1.75; direction: rtl; }
h1, h2, h3, h4, h5, h6, .entry-title, .woocommerce-loop-product__title { font-family: var(--serif); color: var(--ink); font-weight: 700; letter-spacing: 0; font-variant-numeric: lining-nums; }
a { color: var(--gold-d); }
a:hover, a:focus { color: var(--ink); }
img { max-width: 100%; height: auto; }
.site { background: var(--ivory); }
.col-full { max-width: 1240px; padding-inline: 20px; }
.site-content { padding-top: 0; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.screen-reader-text:focus { z-index: 100000; }

/* ---------- topbar ---------- */
.aya-topbar { background: var(--plum); color: var(--ivory); font-size: 13.5px; }
.aya-topbar-in { max-width: 1240px; margin: 0 auto; padding: 8px 20px; display: flex; gap: 18px; justify-content: space-between; align-items: center; flex-wrap: wrap; }
.aya-topbar a { color: var(--peach); text-decoration: none; margin-inline-start: 14px; white-space: nowrap; }
.aya-topbar a:hover { color: #fff; }
.aya-topbar-msg { opacity: .92; }
.aya-topbar-phones { display: flex; flex-wrap: wrap; align-items: center; }
.aya-topbar-phones a:first-child { margin-inline-start: 0; }

/* ---------- header ---------- */
.site-header { background: var(--ivory) !important; border: 0; padding: 0; margin: 0 !important; color: var(--ink); border-bottom: 1px solid var(--line); position: relative; z-index: 50; }
.site-header .col-full { display: block; }
.aya-header-in { max-width: 1240px; margin: 0 auto; padding: 14px 20px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px; }
.aya-logo { grid-column: 2; justify-self: center; display: block; line-height: 0; }
.aya-logo img { height: 74px; width: auto; display: block; }
.aya-actions { grid-column: 3; justify-self: end; display: flex; align-items: center; gap: 6px; }
.aya-menu-toggle { grid-column: 1; justify-self: start; display: none; background: none; border: 0; padding: 8px; cursor: pointer; color: var(--ink); }
.aya-icon-btn, .aya-menu-toggle { color: var(--ink) !important; background: transparent !important; box-shadow: none !important; }
.aya-icon-btn { display: inline-flex; align-items: center; justify-content: center; position: relative; width: 44px; height: 44px; border-radius: 50%; border: 0; background: transparent; color: var(--ink); cursor: pointer; text-decoration: none; }
.aya-icon-btn:hover { background: var(--sand); color: var(--ink); }
.aya-icon-btn svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.aya-cart-count { position: absolute; top: 2px; inset-inline-end: 0; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--terra); color: #fff; font-size: 11px; line-height: 18px; text-align: center; font-weight: 700; }
.aya-cart-count.is-zero { display: none; }

.aya-nav { border-top: 1px solid var(--line); background: var(--ivory); }
.aya-nav ul.menu { max-width: 1240px; margin: 0 auto; padding: 0 20px; list-style: none; display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 6px; }
.aya-nav li { position: relative; margin: 0; }
.aya-nav li > a { display: block; padding: 13px 14px; color: var(--ink); text-decoration: none; font-weight: 500; font-size: 15.5px; position: relative; }
.aya-nav li > a::after { content: ''; position: absolute; inset-inline: 14px; bottom: 7px; height: 2px; background: var(--rose-d); transform: scaleX(0); transition: transform .25s; }
.aya-nav li:hover > a::after, .aya-nav li.current-menu-item > a::after, .aya-nav li.current-menu-ancestor > a::after { transform: scaleX(1); }
.aya-nav .sub-menu { display: none; position: absolute; top: 100%; inset-inline-start: 0; min-width: 190px; background: var(--card); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); padding: 8px; list-style: none; margin: 0; z-index: 60; }
.aya-nav li:hover > .sub-menu, .aya-nav li:focus-within > .sub-menu { display: block; }
.aya-nav .sub-menu a { padding: 9px 12px; border-radius: 8px; white-space: nowrap; }
.aya-nav .sub-menu a::after { display: none; }
.aya-nav .sub-menu a:hover { background: var(--sand); }
.aya-searchbar { display: none; background: var(--sand); border-bottom: 1px solid var(--line); }
.aya-searchbar.is-open { display: block; }
.aya-searchbar form { max-width: 720px; margin: 0 auto; padding: 14px 20px; display: flex; gap: 8px; }
.aya-searchbar input[type=search] { flex: 1; border: 1px solid var(--line); border-radius: 999px; padding: 11px 20px; background: #fff; font-size: 16px; }
.aya-searchbar button { border: 0; border-radius: 999px; background: var(--plum); color: #fff; padding: 0 24px; cursor: pointer; }
.aya-searchbar button:hover { background: var(--plum-d); }

/* ---------- buttons ---------- */
.aya-btn, .button, button.button, input.button, a.button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
button[type=submit], input[type=submit] {
  display: inline-block; border-radius: 999px; padding: 12px 28px; font-weight: 700; font-size: 15px; line-height: 1.4; text-decoration: none; cursor: pointer;
  background: var(--plum); color: #fff; border: 1px solid var(--plum); transition: background .2s, color .2s, border-color .2s, transform .1s;
}
.aya-btn:hover, .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, button[type=submit]:hover, input[type=submit]:hover { background: var(--plum-d); border-color: var(--plum-d); color: #fff; }
.aya-btn-gold { background: var(--plum); border-color: var(--plum); color: #fff; }
.aya-btn-gold:hover { background: var(--plum-d); border-color: var(--plum-d); color: #fff; }
.aya-btn-line { background: transparent; color: var(--plum); border-color: var(--plum); }
.aya-btn-line:hover { background: var(--plum); color: #fff; border-color: var(--plum); }
/* soft rose button (like the pink button of the reference): section "view all", add to cart */
.aya-products-more .aya-btn, ul.products li.product .button, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce #respond input#submit.alt { background: var(--rose); border-color: var(--rose); color: var(--ink); }
.aya-products-more .aya-btn:hover, ul.products li.product .button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover { background: var(--plum); border-color: var(--plum); color: #fff; }
.woocommerce a.button.disabled, .woocommerce button.button:disabled, .woocommerce button.button.disabled { opacity: .5; }

/* ---------- home sections ---------- */
body.home .site-content > .col-full { max-width: none; padding: 0; margin: 0; }
body.home .content-area, body.home .site-main, body.home .hentry, body.home .entry-content { width: 100%; max-width: none; float: none; margin: 0; padding: 0; }
body.home .entry-header, body.home .storefront-breadcrumb { display: none; }
.aya-wrap { max-width: 1240px; margin: 0 auto; padding-inline: 20px; }
.aya-section { padding: 64px 0; }
.aya-section-alt { background: var(--sand); }
.aya-title { text-align: center; margin: 0 0 8px; font-size: clamp(26px, 4vw, 38px); }
.aya-sub { text-align: center; color: var(--muted); margin: 0 auto 34px; max-width: 640px; }
.aya-title::after { content: ''; display: block; width: 64px; height: 1px; background: var(--gold-d); margin: 14px auto 0; }
.aya-band { background: var(--tan); }
.aya-band .aya-feature p { color: #5a4448; }

.aya-hero { background: linear-gradient(to left, #f8d6c1 0%, #f2c7ae 42%, #d9967f 78%, #c27a65 100%); color: var(--ink); text-align: center; padding: 72px 0 80px; position: relative; overflow: hidden; }
.aya-hero::before { content: ''; position: absolute; inset: 14px; border: 1px solid rgba(107, 74, 80, .22); border-radius: 18px; pointer-events: none; }
.aya-hero-inner { position: relative; }
.aya-hero-logo { height: 150px; width: auto; margin: 0 auto 10px; opacity: .96; }
.aya-kicker { letter-spacing: .42em; font-size: 15px; color: var(--terra); margin: 0 0 10px; font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 700; }
.aya-hero h1 { color: var(--ink); font-size: clamp(38px, 7vw, 68px); margin: 0 0 14px; line-height: 1.2; }
.aya-lead { max-width: 640px; margin: 0 auto 30px; font-size: 18px; color: #5a4448; }
.aya-hero-cta { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

.aya-cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.aya-cat { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 190px; padding: 20px; border-radius: var(--radius); overflow: hidden; text-decoration: none; color: #fff;
  background: linear-gradient(160deg, #e9b79f 0, #c9806a 100%); box-shadow: var(--shadow); transition: transform .25s, box-shadow .25s; isolation: isolate; }
.aya-cat::before { content: ''; position: absolute; inset: 0; background: var(--bg, none) center / cover no-repeat; z-index: -2; }
.aya-cat::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(79, 53, 59, .78), rgba(79, 53, 59, .08) 70%); z-index: -1; }
.aya-cat:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(107, 74, 80, .22); color: #fff; }
.aya-cat-name { font-family: var(--serif); font-size: 23px; font-weight: 700; line-height: 1.3; }
.aya-cat-line { display: block; width: 34px; height: 2px; background: var(--peach); margin: 8px 0 6px; transition: width .25s; }
.aya-cat:hover .aya-cat-line { width: 64px; }
.aya-cat-count { font-size: 13px; color: var(--peach); }

.aya-scents { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.aya-scent { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 26px 20px; text-align: center; text-decoration: none; color: var(--ink); transition: border-color .2s, transform .2s, box-shadow .2s; }
.aya-scent:hover { border-color: var(--rose-d); transform: translateY(-3px); box-shadow: var(--shadow); color: var(--ink); }
.aya-scent b { display: block; font-family: var(--serif); font-size: 24px; color: var(--gold-d); margin-bottom: 6px; }
.aya-scent span { color: var(--muted); font-size: 14.5px; }

.aya-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.aya-feature { text-align: center; padding: 8px 14px; }
.aya-feature svg { width: 40px; height: 40px; stroke: var(--plum); fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 10px; }
.aya-feature h3 { font-size: 21px; margin: 0 0 4px; }
.aya-feature p { margin: 0; color: var(--muted); font-size: 15px; }

.aya-contact { background: linear-gradient(135deg, #f4cdb7 0%, #e3a78f 100%); color: var(--ink); text-align: center; padding: 56px 0; }
.aya-contact h2 { color: var(--ink); margin: 0 0 6px; font-size: clamp(24px, 4vw, 34px); }
.aya-contact p { color: #5a4448; margin: 0 0 22px; }
.aya-contact-phones { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin-bottom: 20px; }
.aya-contact-phones a { color: var(--plum-d); border: 1px solid rgba(107, 74, 80, .45); background: rgba(255, 250, 244, .45); padding: 8px 20px; border-radius: 999px; text-decoration: none; direction: ltr; font-size: 17px; letter-spacing: .04em; }
.aya-contact-phones a:hover { background: var(--plum); border-color: var(--plum); color: #fff; }
.aya-btn-wa { background: var(--wa); border-color: var(--wa); color: #fff; }
.aya-btn-wa:hover { background: #1ebe5b; border-color: #1ebe5b; color: #fff; }
.aya-products-more { text-align: center; margin-top: 28px; }

/* ---------- products grid ---------- */
ul.products { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 22px 18px; margin: 0 0 30px; padding: 0; list-style: none; }
ul.products::before, ul.products::after { display: none !important; }
ul.products.columns-3 { grid-template-columns: repeat(3, 1fr); }
ul.products.columns-5 { grid-template-columns: repeat(5, 1fr); }
ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 12px 12px 16px; text-align: center; display: flex; flex-direction: column; transition: box-shadow .25s, transform .25s, border-color .25s; position: relative; }
ul.products li.product:hover { box-shadow: var(--shadow); transform: translateY(-3px); border-color: var(--rose); }
ul.products li.product a img { border-radius: 10px; margin: 0 0 12px; aspect-ratio: 1 / 1; object-fit: cover; width: 100%; background: var(--sand); }
ul.products li.product .woocommerce-loop-product__title { font-size: 19px; line-height: 1.4; padding: 0; margin: 0 0 4px; min-height: 2.8em; }
ul.products li.product .price { color: var(--gold-d); font-weight: 700; font-size: 17px; margin: 4px 0 12px; display: block; }
ul.products li.product .price del { color: var(--muted); font-weight: 400; opacity: .8; margin-inline-end: 6px; }
ul.products li.product .price ins { background: none; text-decoration: none; }
ul.products li.product .button { margin-top: auto; align-self: center; padding: 10px 22px; font-size: 14px; }
ul.products li.product .star-rating { display: none; }
.aya-brand { display: block; font-size: 12.5px; letter-spacing: .08em; color: var(--muted); margin-bottom: 2px; }
span.onsale { background: var(--terra) !important; color: #fff !important; border-radius: 999px; min-width: 0; min-height: 0; line-height: 1; padding: 7px 14px; font-size: 13px; font-weight: 700; top: 12px; inset-inline-start: 12px; inset-inline-end: auto; left: auto; right: auto; margin: 0; z-index: 3; }
[dir=rtl] span.onsale { right: 12px !important; left: auto !important; }

/* shop header & filter bar */
.woocommerce-products-header { text-align: center; padding: 34px 0 8px; }
.woocommerce-products-header__title, .page-title { font-size: clamp(30px, 5vw, 44px); margin: 0 0 6px; }
.term-description, .woocommerce-products-header .page-description { color: var(--muted); max-width: 680px; margin: 0 auto; }
.storefront-breadcrumb { margin: 0; padding: 14px 0; }
.woocommerce-breadcrumb { color: var(--muted); font-size: 13.5px; padding: 0; margin: 0; }
.woocommerce-breadcrumb a { color: var(--muted); }
.aya-filterbar { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 16px 18px; margin: 14px 0 22px; display: grid; gap: 12px; }
.aya-filter-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.aya-filter-label { font-weight: 700; margin-inline-end: 6px; color: var(--ink); }
.aya-chip { display: inline-block; padding: 7px 18px; border-radius: 999px; border: 1px solid var(--line); background: var(--ivory); color: var(--ink); text-decoration: none; font-size: 14.5px; transition: all .15s; }
.aya-chip:hover { border-color: var(--rose-d); color: var(--ink); }
.aya-chip.is-active { background: var(--plum); border-color: var(--plum); color: #fff; }
.aya-filter-row select { border: 1px solid var(--line); border-radius: 999px; padding: 7px 16px; background: var(--ivory); min-width: 160px; }
.woocommerce-result-count { color: var(--muted); font-size: 14px; margin-top: 10px; }
.woocommerce-ordering select { border: 1px solid var(--line); border-radius: 999px; padding: 8px 16px; background: var(--card); }
.aya-empty { text-align: center; padding: 46px 20px; background: var(--card); border: 1px dashed var(--line); border-radius: var(--radius); color: var(--muted); margin: 10px 0 30px; }
.aya-empty b { display: block; font-family: var(--serif); font-size: 24px; color: var(--ink); margin-bottom: 6px; }
.storefront-sorting { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0 0 16px; }
.storefront-sorting .woocommerce-ordering, .storefront-sorting .woocommerce-result-count { margin: 0; float: none; }
.storefront-sorting .woocommerce-pagination { display: none; }
.woocommerce-pagination .page-numbers { display: flex; gap: 6px; justify-content: center; list-style: none; padding: 0; }
.woocommerce-pagination .page-numbers li { border: 0 !important; }
.woocommerce-pagination .page-numbers a, .woocommerce-pagination .page-numbers span { display: block; padding: 8px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); text-decoration: none; }
.woocommerce-pagination .page-numbers .current { background: var(--plum); color: #fff; border-color: var(--plum); }

/* layout: no sidebar anywhere */
.right-sidebar .content-area, .left-sidebar .content-area { width: 100% !important; float: none !important; margin: 0 !important; }
#secondary, .widget-area { display: none !important; }
.site-main { margin-bottom: 40px; }

/* ---------- single product ---------- */
.single-product div.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: start; padding-top: 10px; }
.single-product div.product .woocommerce-product-gallery, .single-product div.product .summary, .single-product div.product .images { width: 100% !important; float: none !important; margin: 0 !important; }
.single-product div.product .woocommerce-tabs, .single-product div.product .related, .single-product div.product .up-sells, .single-product div.product .storefront-product-pagination { grid-column: 1 / -1; }
.single-product div.product .woocommerce-product-gallery img { border-radius: var(--radius); }
.single-product .woocommerce-product-gallery { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 10px; }
.single-product div.product .product_title { font-size: clamp(28px, 4vw, 40px); margin: 0 0 8px; line-height: 1.3; }
.single-product div.product p.price, .single-product div.product span.price { color: var(--gold-d); font-size: 28px; font-weight: 700; }
.single-product div.product p.price del { color: var(--muted); font-weight: 400; font-size: 20px; }
.single-product div.product p.price ins { background: none; text-decoration: none; }
.woocommerce-product-details__short-description { color: var(--muted); margin: 10px 0 18px; }
.aya-product-tags { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 12px; }
.aya-pill { display: inline-block; font-size: 13.5px; padding: 4px 14px; border-radius: 999px; background: var(--sand); color: var(--gold-d); border: 1px solid var(--line); text-decoration: none; }
.aya-pill-brand { background: var(--plum); color: var(--peach); border-color: var(--plum); }
.single-product form.cart { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 18px 0; }
.single-product form.cart .quantity input.qty { border: 1px solid var(--line); border-radius: 999px; width: 82px; height: 46px; text-align: center; background: var(--card); }
.single-product form.cart .single_add_to_cart_button { flex: 1; min-width: 180px; padding: 14px 28px; font-size: 16px; }
.single-product form.cart table.variations { width: 100%; margin: 0 0 8px; }
.single-product form.cart table.variations select { border: 1px solid var(--line); border-radius: 999px; padding: 10px 16px; background: var(--card); width: 100%; }
.single-product form.cart .woocommerce-variation-add-to-cart { display: flex; gap: 10px; flex-wrap: wrap; width: 100%; }
.aya-wa-order { display: flex !important; align-items: center; justify-content: center; gap: 8px; background: var(--wa) !important; border-color: var(--wa) !important; color: #fff !important; width: 100%; margin: 4px 0 8px; padding: 13px 24px; }
.aya-wa-order:hover { background: #1ebe5b !important; border-color: #1ebe5b !important; }
.aya-wa-order svg, .aya-wa-float svg { width: 22px; height: 22px; fill: currentColor; }
.aya-trust { list-style: none; margin: 16px 0 0; padding: 14px 0 0; border-top: 1px solid var(--line); display: grid; gap: 6px; color: var(--muted); font-size: 14.5px; }
.aya-trust li::before { content: '✓'; color: var(--gold-d); font-weight: 700; margin-inline-end: 8px; }
.product_meta { font-size: 14px; color: var(--muted); border-top: 1px solid var(--line); padding-top: 12px; margin-top: 14px; }
.product_meta > span { display: block; }
.woocommerce-tabs ul.tabs { display: flex; gap: 6px; border-bottom: 1px solid var(--line); padding: 0; margin: 0 0 20px; list-style: none; }
.woocommerce-tabs ul.tabs::before, .woocommerce-tabs ul.tabs::after { display: none; }
.woocommerce-tabs ul.tabs li { border: 0 !important; background: none !important; margin: 0 !important; padding: 0 !important; border-radius: 0 !important; }
.woocommerce-tabs ul.tabs li::before, .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce-tabs ul.tabs li a { padding: 10px 20px !important; font-weight: 700; color: var(--muted) !important; border-bottom: 2px solid transparent; display: block; }
.woocommerce-tabs ul.tabs li.active a { color: var(--ink) !important; border-bottom-color: var(--rose-d); }
.related.products > h2, .up-sells > h2 { text-align: center; font-size: 30px; margin: 30px 0 22px; }
.storefront-product-pagination { display: none; }

/* ---------- cart / checkout / account ---------- */
.woocommerce table.shop_table { border: 1px solid var(--line); border-radius: var(--radius); border-collapse: separate; border-spacing: 0; overflow: hidden; background: var(--card); }
.woocommerce table.shop_table th { background: var(--sand); font-weight: 700; }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color: var(--line); padding: 14px 16px; }
.woocommerce table.cart img { width: 72px; border-radius: 8px; }
.woocommerce-cart table.cart td.actions .coupon .input-text { border: 1px solid var(--line); border-radius: 999px; padding: 10px 18px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, input[type=text], input[type=email], input[type=tel], input[type=number], input[type=password], input[type=search], textarea, select {
  border: 1px solid var(--line); border-radius: 12px; padding: 11px 16px; background: var(--card); font-size: 16px; color: var(--ink); box-shadow: none; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus, input:focus, textarea:focus, select:focus { border-color: var(--rose-d); outline: 0; box-shadow: 0 0 0 3px rgba(217, 140, 132, .25); }
.woocommerce form .form-row label { font-weight: 500; margin-bottom: 4px; }
#order_review, .woocommerce-checkout #customer_details { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; }
.woocommerce-checkout #order_review_heading, .woocommerce-checkout h3 { font-size: 24px; }
.woocommerce-checkout #payment { background: var(--sand); border-radius: var(--radius); }
.woocommerce-checkout #payment div.payment_box { background: var(--card); color: var(--ink); border-radius: 10px; }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { border-radius: 12px; background: var(--card); border: 1px solid var(--line); border-top: 3px solid var(--rose-d); color: var(--ink); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--gold-d); }
.woocommerce-error { border-top-color: #b3261e; }
.cart_totals h2, .cross-sells h2 { font-size: 26px; }
.aya-thanks-wa { margin-top: 16px; }

/* ---------- pages ---------- */
.page .entry-header { text-align: center; margin: 30px 0 10px; }
.page .entry-title { font-size: clamp(30px, 5vw, 44px); }
.entry-content { max-width: 860px; margin-inline: auto; }
.aya-prose h2 { font-size: 26px; margin: 28px 0 8px; }
.aya-prose p, .aya-prose li { color: #4a3a3d; }
.aya-contact-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin: 20px 0; }
.aya-contact-card { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; text-align: center; }
.aya-contact-card b { display: block; font-family: var(--serif); font-size: 21px; margin-bottom: 4px; }
.aya-contact-card a { direction: ltr; display: inline-block; font-size: 20px; text-decoration: none; letter-spacing: .04em; }

/* ---------- footer ---------- */
.site-footer { background: var(--plum-d) !important; color: #e6d3c8; padding: 0; margin: 0; border: 0; }
.site-footer a { color: #f1dccd; text-decoration: none; }
.site-footer a:hover { color: var(--peach); }
.site-footer h4 { color: var(--ivory); font-size: 20px; margin: 0 0 12px; }
.aya-foot { max-width: 1240px; margin: 0 auto; padding: 52px 20px 24px; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 34px; }
.aya-foot img { height: 96px; width: auto; margin-bottom: 8px; }
.aya-foot p { margin: 0 0 8px; font-size: 15px; }
.aya-foot ul { list-style: none; margin: 0; padding: 0; }
.aya-foot li { margin: 0 0 7px; font-size: 15px; }
.aya-foot .ph { direction: ltr; display: inline-block; letter-spacing: .04em; }
.aya-foot-bottom { max-width: 1240px; margin: 0 auto; padding: 18px 20px 26px; border-top: 1px solid rgba(255, 255, 255, .14); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; font-size: 13.5px; color: #c9b0a6; }

/* ---------- WhatsApp floating ---------- */
.aya-wa-float { position: fixed; bottom: 20px; inset-inline-start: 20px; z-index: 9990; width: 58px; height: 58px; border-radius: 50%; background: var(--wa); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 22px rgba(0, 0, 0, .25); text-decoration: none; transition: transform .2s; }
.aya-wa-float:hover { transform: scale(1.08); color: #fff; }
.aya-wa-float svg { width: 30px; height: 30px; }
[dir=rtl] .aya-wa-float { left: 20px; right: auto; }

/* ---------- responsive ---------- */
@media (max-width: 1024px) {
  ul.products, ul.products.columns-5 { grid-template-columns: repeat(3, 1fr); }
  .aya-cats, .aya-scents { grid-template-columns: repeat(2, 1fr); }
  .aya-foot { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .aya-header-in { padding: 8px 14px; }
  .aya-logo img { height: 56px; }
  .aya-menu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; }
  .aya-menu-toggle svg { width: 26px; height: 26px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; }
  .aya-nav { display: none; border-top: 1px solid var(--line); }
  .aya-nav.is-open { display: block; }
  .aya-nav ul.menu { display: block; padding: 8px 14px 14px; }
  .aya-nav li > a { padding: 12px 6px; border-bottom: 1px solid var(--line); }
  .aya-nav li > a::after { display: none; }
  .aya-nav .sub-menu { position: static; display: none; box-shadow: none; border: 0; padding: 0 14px 0 0; background: transparent; }
  .aya-nav li.is-open > .sub-menu { display: block; }
  .aya-nav li:hover > .sub-menu { display: none; }
  .aya-nav li.is-open:hover > .sub-menu { display: block; }
  .single-product div.product { grid-template-columns: 1fr; gap: 22px; }
  .aya-topbar-msg { display: none; }
  .aya-topbar-in { justify-content: center; }
}
@media (max-width: 640px) {
  .col-full { padding-inline: 14px; }
  .aya-section { padding: 42px 0; }
  ul.products, ul.products.columns-3, ul.products.columns-5 { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  ul.products li.product { padding: 8px 8px 12px; }
  ul.products li.product .woocommerce-loop-product__title { font-size: 16px; }
  ul.products li.product .button { padding: 9px 16px; font-size: 13px; }
  .aya-cats { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .aya-cat { min-height: 150px; padding: 14px; }
  .aya-cat-name { font-size: 19px; }
  .aya-scents { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .aya-scent { padding: 18px 12px; }
  .aya-scent b { font-size: 21px; }
  .aya-features { grid-template-columns: 1fr; gap: 6px; }
  .aya-hero { padding: 54px 0 60px; }
  .aya-hero-logo { height: 110px; }
  .aya-lead { font-size: 16px; }
  .aya-foot { grid-template-columns: 1fr; gap: 24px; padding-top: 36px; }
  .aya-foot-bottom { justify-content: center; text-align: center; }
  .aya-wa-float { width: 52px; height: 52px; bottom: 14px; inset-inline-start: 14px; }
  .woocommerce-checkout #order_review, .woocommerce-checkout #customer_details { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }

/* ---------- fixes after first visual pass ---------- */
.aya-cat, .aya-cat *, .aya-scent, .aya-scent *, .aya-btn, a.button, .woocommerce a.button, .aya-chip, .aya-nav a, .aya-logo, .aya-icon-btn, .aya-topbar a, .aya-wa-float,
ul.products li.product a, .aya-contact-phones a, .aya-contact-card a, .site-footer a { text-decoration: none !important; }
ul.products li.product .woocommerce-LoopProduct-link { display: block; }
ul.products li.product span.onsale { position: absolute !important; top: 18px !important; inset-inline-start: 18px; inset-inline-end: auto; }
[dir=rtl] ul.products li.product span.onsale { right: 18px !important; left: auto !important; }
.single-product span.onsale { position: absolute; top: 20px; z-index: 3; }
[dir=rtl] .single-product span.onsale { right: 20px; left: auto; }
.aya-cat { background: radial-gradient(380px 200px at 85% 0, rgba(255, 255, 255, .28), transparent 70%), linear-gradient(160deg, #eec0a8 0, #c9806a 100%); }
.single-product div.product::before, .single-product div.product::after { display: none !important; }
ul.products ~ .storefront-sorting { display: none; }

/* ---------- hero with photo ---------- */
.aya-hero { padding: 56px 0; text-align: start; }
.aya-hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 54px; align-items: center; }
.aya-hero-copy { text-align: start; }
.aya-hero-cta { justify-content: flex-start; }
.aya-lead { margin-inline: 0; }
.aya-hero-photo { margin: 0; position: relative; }
.aya-hero-photo::before { content: ''; position: absolute; inset: -12px 12px 12px -12px; border: 1px solid rgba(107, 74, 80, .38); border-radius: 22px; }
.aya-hero-photo img { position: relative; display: block; width: 100%; max-height: 560px; object-fit: cover; border-radius: 18px; box-shadow: 0 24px 50px rgba(79, 53, 59, .35); }
ul.products li.product a img { aspect-ratio: 3 / 4; }
@media (max-width: 900px) {
  .aya-hero { padding: 40px 0 46px; }
  .aya-hero-grid { grid-template-columns: 1fr; gap: 30px; }
  .aya-hero-copy { text-align: center; order: 1; }
  .aya-hero-cta { justify-content: center; }
  .aya-lead { margin-inline: auto; }
  .aya-hero-photo { order: 2; max-width: 360px; margin-inline: auto; }
  .aya-hero-photo img { max-height: 440px; }
}
.aya-icon-btn, .aya-menu-toggle { padding: 0 !important; min-width: 0; }
.aya-icon-btn svg, .aya-menu-toggle svg { flex: none; }
