/*
Theme Name: Rabotilnichka Bloom
Theme URI: https://rabotilnichka.com/
Author: Mservice / Rabotilnichka
Description: Модерна WooCommerce тема за Работилничката на Маги – ръчно изработени подаръци, сватби и специални събития.
Version: 1.5.5
Requires at least: 6.3
Tested up to: 6.9
Requires PHP: 7.4
Text Domain: rabotilnichka-bloom
*/

:root {
  --rb-pink: #dc6f98;
  --rb-pink-dark: #b94f78;
  --rb-pink-soft: #f9e3eb;
  --rb-green: #d7ecde;
  --rb-green-dark: #86ad93;
  --rb-green-soft: #f5fbf7;
  --rb-cream: #fffaf5;
  --rb-paper: #ffffff;
  --rb-ink: #2d2a2b;
  --rb-muted: #756f71;
  --rb-line: #eadfe2;
  --rb-shadow: 0 18px 50px rgba(71, 48, 58, .10);
  --rb-radius: 24px;
  --rb-radius-sm: 16px;
  --rb-container: 1220px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--rb-ink);
  background: var(--rb-cream);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, .button, input[type="submit"] { cursor: pointer; }

/* Critical responsive safety — applied before component rules. */
.rb-mega-menu { display:none; }
.rb-shop-category-card__icon { overflow:hidden; }
.rb-shop-category-card__icon svg,
.rb-mega-group__icon svg {
  display:block; width:24px; height:24px; max-width:24px; max-height:24px;
  fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;
}

.rb-container { width: min(calc(100% - 36px), var(--rb-container)); margin-inline: auto; }
.rb-section { padding: 84px 0; }
.rb-section--tight { padding: 56px 0; }
.rb-section--white { background: var(--rb-paper); }
.rb-section--green { background: linear-gradient(135deg, #fff4f7 0%, #f1f9f3 100%); }
.rb-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--rb-green-dark); text-transform: uppercase; letter-spacing: .12em;
  font-size: 12px; font-weight: 800;
}
.rb-eyebrow::before { content: ""; width: 28px; height: 2px; border-radius: 10px; background: var(--rb-pink); }
.rb-heading, .woocommerce div.product .product_title {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 600; line-height: 1.08; letter-spacing: -.025em;
}
.rb-heading { margin: 10px 0 16px; font-size: clamp(34px, 4vw, 58px); }
.rb-heading--small { font-size: clamp(28px, 3vw, 42px); }
.rb-lead { color: var(--rb-muted); font-size: 18px; max-width: 700px; }
.rb-section-head { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-bottom:34px; }
.rb-section-head p { margin:0; color:var(--rb-muted); max-width:590px; }

.rb-btn, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  min-height:48px; padding: 12px 20px; border-radius:999px; border:0;
  background:var(--rb-pink); color:#fff; font-weight:800; line-height:1.1;
  box-shadow:none; transition:.2s ease;
}
.rb-btn:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover {
  background:var(--rb-pink-dark); color:#fff; transform:translateY(-1px);
}
.rb-btn--outline { background:transparent; color:var(--rb-green-dark); border:1px solid rgba(111,146,123,.30); }
.rb-btn--outline:hover { background:var(--rb-green-dark); color:#fff; }
.rb-btn--green { background:#d7ecde; color:#557362; }
.rb-btn--green:hover { background:#c9e5d2; color:#496555; }

.rb-topbar { background:linear-gradient(90deg,#f9e6ed 0%,#f4f7f2 50%,#e8f5ec 100%); color:#665b60; font-size:13px; }
.rb-topbar__inner { min-height:36px; display:flex; align-items:center; justify-content:center; gap:8px; text-align:center; }
.rb-topbar svg { flex:0 0 auto; }

.rb-header { position:sticky; top:0; z-index:1000; background:rgba(255,250,245,.95); backdrop-filter:blur(14px); border-bottom:1px solid rgba(234,223,226,.75); }
.admin-bar .rb-header { top:32px; }
.rb-header__main { min-height:88px; display:grid; grid-template-columns:auto 1fr auto; gap:28px; align-items:center; }
.rb-brand { display:flex; align-items:center; gap:12px; min-width:205px; }
.rb-brand .custom-logo { max-height:58px; width:auto; }
.rb-brand__text { display:flex; flex-direction:column; line-height:1; }
.rb-brand__name { font-family:Georgia,"Times New Roman",serif; font-size:25px; font-weight:700; color:var(--rb-pink-dark); }
.rb-brand__tag { margin-top:5px; font-size:10px; letter-spacing:.13em; text-transform:uppercase; color:#8fb69b; font-weight:800; }
.rb-nav { justify-self:center; }
.rb-nav ul { list-style:none; margin:0; padding:0; display:flex; gap:27px; align-items:center; }
.rb-nav a { font-size:14px; font-weight:750; color:#3c3739; position:relative; }
.rb-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-7px; height:2px; background:var(--rb-pink); transition:.2s ease; }
.rb-nav a:hover::after, .rb-nav .current-menu-item > a::after { right:0; }
.rb-submenu-toggle { display:none; }
.rb-nav .rb-shop-trigger { position:relative; }
.rb-nav .rb-shop-trigger > a { display:inline-flex; align-items:center; }
.rb-header__actions { display:flex; align-items:center; gap:8px; }
.rb-icon-btn { width:43px; height:43px; border-radius:999px; border:1px solid var(--rb-line); background:#fff; display:grid; place-items:center; position:relative; color:var(--rb-pink-dark); transition:.2s ease; }
.rb-icon-btn:hover { border-color:var(--rb-pink); color:var(--rb-pink-dark); }
.rb-cart-count { position:absolute; right:-3px; top:-3px; min-width:19px; height:19px; padding:0 5px; border-radius:999px; display:grid; place-items:center; background:var(--rb-pink); color:#fff; font-size:10px; font-weight:800; }
.rb-menu-toggle { display:none; }
.rb-searchbar { border-top:1px solid var(--rb-line); background:#fff; display:none; }
.rb-searchbar.is-open { display:block; }
.rb-searchbar__inner { padding:14px 0; }
.rb-searchbar form { display:flex; gap:10px; }
.rb-searchbar input[type="search"] { width:100%; height:48px; border:1px solid var(--rb-line); border-radius:999px; padding:0 18px; outline:0; }
.rb-searchbar input[type="search"]:focus { border-color:var(--rb-pink); box-shadow:0 0 0 3px rgba(216,91,136,.12); }

.rb-hero { position:relative; overflow:hidden; background:linear-gradient(135deg,#fff8fb 0%,#f8e5ed 46%,#eef8f1 100%); }
.rb-hero::before { content:""; position:absolute; width:420px; height:420px; border-radius:50%; background:rgba(255,255,255,.48); right:-100px; top:-80px; }
.rb-hero::after { content:""; position:absolute; width:250px; height:250px; border-radius:50%; background:rgba(216,91,136,.08); left:-90px; bottom:-90px; }
.rb-hero__inner { min-height:600px; display:grid; grid-template-columns:1.05fr .95fr; gap:55px; align-items:center; position:relative; z-index:1; padding:64px 0; }
.rb-hero__copy { max-width:650px; }
.rb-hero__title { font-family:Georgia,"Times New Roman",serif; font-size:clamp(48px,5.4vw,76px); line-height:.98; letter-spacing:-.04em; margin:14px 0 22px; font-weight:600; }
.rb-hero__title em { color:var(--rb-pink-dark); font-style:italic; font-weight:500; }
.rb-hero__text { color:#625b5e; font-size:18px; max-width:600px; }
.rb-hero__buttons { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.rb-hero__proof { display:flex; gap:22px; flex-wrap:wrap; margin-top:32px; color:var(--rb-green-dark); font-size:13px; font-weight:700; }
.rb-hero__proof span { display:flex; align-items:center; gap:7px; }
.rb-hero__visual { position:relative; min-height:470px; }
.rb-hero-card { position:absolute; border-radius:30px; overflow:hidden; background:#fff; box-shadow:var(--rb-shadow); }
.rb-hero-card img { width:100%; height:100%; object-fit:cover; }
.rb-hero-card--main { inset:15px 50px 15px 5px; transform:rotate(2deg); }
.rb-hero-card--accent { width:210px; height:250px; right:0; bottom:-10px; border:9px solid #fff; transform:rotate(-5deg); }
.rb-hero-card--fallback { display:grid; place-items:center; text-align:center; padding:42px; height:100%; min-height:440px; background:linear-gradient(145deg,#f6dce6,#eef8f1); color:var(--rb-green-dark); }
.rb-hero-card--fallback strong { font-family:Georgia,"Times New Roman",serif; font-size:42px; line-height:1; }
.rb-hero-card__badge { position:absolute; left:8px; bottom:44px; z-index:3; max-width:250px; border-radius:18px; background:rgba(255,255,255,.94); box-shadow:var(--rb-shadow); padding:15px 18px; }
.rb-hero-card__badge b { display:block; color:var(--rb-pink-dark); font-size:14px; }
.rb-hero-card__badge span { color:var(--rb-muted); font-size:12px; }

.rb-occasion-row { margin-top:-32px; position:relative; z-index:4; }
.rb-occasion-box { background:#fff; border:1px solid var(--rb-line); border-radius:24px; box-shadow:var(--rb-shadow); padding:15px; display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.rb-occasion { min-height:84px; display:flex; align-items:center; gap:12px; padding:14px; border-radius:16px; transition:.2s ease; }
.rb-occasion:hover { background:var(--rb-pink-soft); transform:translateY(-2px); }
.rb-occasion__icon { width:44px; height:44px; border-radius:14px; display:grid; place-items:center; background:var(--rb-green-soft); color:var(--rb-green-dark); flex:0 0 auto; }
.rb-occasion strong { font-size:14px; line-height:1.2; display:block; }
.rb-occasion small { color:var(--rb-muted); font-size:11px; }

.rb-category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.rb-category-card { min-height:360px; border-radius:var(--rb-radius); overflow:hidden; position:relative; background:#ece8e6; box-shadow:0 10px 30px rgba(45,42,43,.08); }
.rb-category-card:nth-child(1), .rb-category-card:nth-child(4) { margin-top:28px; }
.rb-category-card img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.rb-category-card:hover img { transform:scale(1.04); }
.rb-category-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,18,19,.02),rgba(20,18,19,.72)); }
.rb-category-card__fallback { position:absolute; inset:0; background:linear-gradient(145deg,var(--rb-pink-soft),var(--rb-green-soft)); }
.rb-category-card__content { position:absolute; left:0; right:0; bottom:0; z-index:2; padding:25px; color:#fff; }
.rb-category-card__content small { text-transform:uppercase; letter-spacing:.11em; font-size:10px; font-weight:800; opacity:.85; }
.rb-category-card__content h3 { font-family:Georgia,"Times New Roman",serif; font-size:29px; line-height:1.05; margin:7px 0; }
.rb-category-card__content span { font-size:13px; opacity:.9; }

.rb-products .products, .woocommerce ul.products { display:grid !important; grid-template-columns:repeat(4, minmax(0,1fr)); gap:22px; margin:0 !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none !important; }
.woocommerce ul.products li.product, .rb-product-card { width:auto !important; float:none !important; margin:0 !important; background:#fff; border:1px solid var(--rb-line); border-radius:20px; padding:0 0 18px; overflow:hidden; position:relative; transition:.22s ease; }
.woocommerce ul.products li.product:hover { transform:translateY(-5px); box-shadow:var(--rb-shadow); border-color:transparent; }
.woocommerce ul.products li.product a img { margin:0 0 15px !important; width:100%; aspect-ratio:1/1; object-fit:cover; background:#f6f2f0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding:0 16px !important; font-size:15px !important; line-height:1.35; min-height:41px; color:var(--rb-ink); }
.woocommerce ul.products li.product .price { padding:0 16px; color:var(--rb-pink-dark) !important; font-weight:850 !important; font-size:16px !important; }
.woocommerce ul.products li.product .button { margin:8px 16px 0 !important; min-height:42px; padding:10px 14px; font-size:12px; width:calc(100% - 32px); }
.woocommerce span.onsale { min-height:auto; min-width:auto; line-height:1; padding:8px 10px; border-radius:999px; left:12px !important; top:12px !important; background:var(--rb-pink); font-size:11px; }

.rb-story { display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:center; }
.rb-story__visual { position:relative; min-height:480px; border-radius:32px; overflow:hidden; background:linear-gradient(145deg,#f8e2ea,#edf8f0); }
.rb-story__visual img { width:100%; height:100%; position:absolute; object-fit:cover; }
.rb-story__stamp { position:absolute; right:24px; bottom:24px; width:126px; height:126px; border-radius:50%; display:grid; place-items:center; text-align:center; background:#fff; box-shadow:var(--rb-shadow); color:var(--rb-green-dark); font-family:Georgia,"Times New Roman",serif; font-size:17px; transform:rotate(-7deg); padding:20px; }
.rb-story__list { display:grid; gap:14px; margin:24px 0 28px; }
.rb-story__item { display:flex; gap:12px; align-items:flex-start; }
.rb-story__item i { width:32px; height:32px; flex:0 0 auto; border-radius:50%; display:grid; place-items:center; background:var(--rb-green-soft); color:var(--rb-green-dark); font-style:normal; font-weight:800; }
.rb-story__item b { display:block; font-size:14px; }
.rb-story__item span { color:var(--rb-muted); font-size:13px; }

.rb-promo { display:grid; grid-template-columns:1.1fr .9fr; min-height:360px; border-radius:32px; overflow:hidden; background:linear-gradient(135deg,#769985 0%,#8fae99 50%,#bd7993 100%); color:#fff; }
.rb-promo__copy { padding:55px; display:flex; flex-direction:column; justify-content:center; }
.rb-promo__copy .rb-eyebrow { color:#fff; }
.rb-promo__copy .rb-heading { margin-bottom:14px; }
.rb-promo__copy p { color:rgba(255,255,255,.78); max-width:550px; }
.rb-promo__visual { background:linear-gradient(145deg,#f7dfe8,#eaf6ee); min-height:320px; position:relative; }
.rb-promo__visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

.rb-service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.rb-service { padding:24px; border-radius:20px; background:#fff; border:1px solid var(--rb-line); }
.rb-service svg { color:var(--rb-pink-dark); margin-bottom:12px; }
.rb-service h3 { margin:0 0 6px; font-size:16px; }
.rb-service p { margin:0; color:var(--rb-muted); font-size:13px; }

.rb-page-hero { padding:58px 0 44px; background:linear-gradient(135deg,#fff8fb,#f6e4eb 50%,#eef8f1); border-bottom:1px solid var(--rb-line); }
.rb-page-hero h1 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(38px,5vw,62px); line-height:1; }
.rb-page-hero p { color:var(--rb-muted); max-width:720px; margin:16px 0 0; }
.rb-content { padding:55px 0 80px; }
.rb-content > *:first-child { margin-top:0; }
.entry-content a { color:var(--rb-pink-dark); text-decoration:underline; text-underline-offset:3px; }

/* WooCommerce shop */
.woocommerce .woocommerce-breadcrumb { color:var(--rb-muted); font-size:12px; margin:0 0 18px; }
.woocommerce .woocommerce-breadcrumb a { color:var(--rb-green-dark); }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { margin-bottom:24px; }
.woocommerce .woocommerce-ordering select { border:1px solid var(--rb-line); border-radius:999px; background:#fff; padding:10px 15px; }
.woocommerce nav.woocommerce-pagination ul { border:0; display:flex; gap:6px; }
.woocommerce nav.woocommerce-pagination ul li { border:0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { border-radius:12px; min-width:40px; height:40px; display:grid; place-items:center; background:#fff; }
.woocommerce nav.woocommerce-pagination ul li span.current { background:var(--rb-pink); color:#fff; }

/* Single product */
.single-product .rb-content { padding-top:42px; }
.woocommerce div.product { display:grid; grid-template-columns:1.02fr .98fr; column-gap:56px; align-items:start; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width:auto !important; float:none !important; margin:0 !important; }
.woocommerce div.product div.images { grid-column:1; }
.woocommerce div.product div.summary { grid-column:2; padding:15px 0; }
.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .upsells { grid-column:1 / -1; }
.woocommerce div.product .product_title { font-size:clamp(34px,4vw,52px); margin:0 0 14px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color:var(--rb-pink-dark); font-size:24px; font-weight:850; }
.woocommerce div.product .woocommerce-product-gallery__wrapper { border-radius:26px; overflow:hidden; background:#f3efed; }
.woocommerce div.product div.images .flex-control-thumbs { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-top:10px !important; }
.woocommerce div.product div.images .flex-control-thumbs li { width:auto !important; float:none !important; }
.woocommerce div.product div.images .flex-control-thumbs img { border-radius:12px; }
.woocommerce div.product form.cart { display:flex; gap:10px; align-items:center; margin:24px 0; }
.woocommerce .quantity .qty { height:48px; width:78px; border:1px solid var(--rb-line); border-radius:999px; background:#fff; }
.woocommerce div.product .product_meta { margin-top:22px; padding-top:18px; border-top:1px solid var(--rb-line); font-size:12px; color:var(--rb-muted); display:grid; gap:5px; }
.rb-product-note { margin:20px 0; border-radius:18px; background:var(--rb-green-soft); padding:16px 18px; color:var(--rb-green-dark); font-size:13px; }
.woocommerce div.product .woocommerce-tabs { margin-top:58px; border-top:1px solid var(--rb-line); padding-top:26px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding:0 !important; margin:0 0 22px !important; display:flex; flex-wrap:wrap; gap:10px; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display:none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border:1px solid var(--rb-line) !important; border-radius:999px !important; background:#fff !important; padding:0 !important; margin:0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding:10px 16px !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background:var(--rb-green-dark) !important; color:#fff !important; }
.woocommerce div.product .woocommerce-tabs .panel { background:#fff; border:1px solid var(--rb-line); border-radius:22px; padding:28px; }
.woocommerce div.product .related { margin-top:60px; }
.woocommerce div.product .related > h2 { font-family:Georgia,"Times New Roman",serif; font-size:34px; }

/* Cart / checkout */
.woocommerce table.shop_table { border:1px solid var(--rb-line); border-radius:18px; overflow:hidden; background:#fff; }
.woocommerce table.shop_table th { color:var(--rb-green-dark); }
.woocommerce-cart .cart-collaterals .cart_totals { width:42%; background:#fff; border:1px solid var(--rb-line); border-radius:20px; padding:22px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .select2-container--default .select2-selection--single { border:1px solid var(--rb-line); border-radius:12px; min-height:46px; background:#fff; padding:10px 12px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height:24px; padding:0; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height:44px; }
.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { background:#fff; border:1px solid var(--rb-line); border-radius:20px; padding:24px; }
.woocommerce-checkout #customer_details { margin-bottom:24px; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { border-top-color:var(--rb-pink) !important; background:#fff; border-radius:14px; }
.woocommerce-message::before, .woocommerce-info::before { color:var(--rb-pink) !important; }

.rb-footer { background:linear-gradient(135deg,#fdebf2 0%,#fff9fb 42%,#edf8f1 100%); color:var(--rb-ink); margin-top:0; border-top:1px solid #eadfe2; }
.rb-footer__main { padding:60px 0 46px; display:grid; grid-template-columns:1.2fr .8fr .8fr 1fr; gap:42px; }
.rb-footer__brand { max-width:330px; }
.rb-footer__brand h3 { font-family:Georgia,"Times New Roman",serif; font-size:28px; margin:0 0 12px; color:var(--rb-pink-dark); }
.rb-footer__brand p, .rb-footer a, .rb-footer li { color:#675f62; font-size:13px; }
.rb-footer h4 { margin:4px 0 14px; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:#86aa91; }
.rb-footer ul { margin:0; padding:0; list-style:none; display:grid; gap:8px; }
.rb-footer a:hover { color:var(--rb-pink-dark); }
.rb-footer__bottom { border-top:1px solid #eadfe2; padding:16px 0; font-size:12px; color:#81777b; display:flex; justify-content:space-between; gap:20px; }
.rb-social { display:flex; gap:8px; }
.rb-social a { width:38px; height:38px; border:1px solid #eadfe2; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.72); color:var(--rb-pink-dark); }
.rb-social a:nth-child(2n) { background:#eff8f2; color:#7fa18a; border-color:#dbece0; }
.rb-floating-viber { position:fixed; right:22px; bottom:22px; z-index:990; width:58px; height:58px; border-radius:50%; background:#7360f2; color:#fff; display:grid; place-items:center; box-shadow:0 12px 30px rgba(56,44,140,.3); }

.screen-reader-text { position:absolute !important; height:1px; width:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }

@media (max-width: 1024px) {
  .rb-header__main { grid-template-columns:auto 1fr auto; }
  .rb-nav { display:none; }
  .rb-menu-toggle { display:grid; }
  .rb-nav.is-open { display:block; position:fixed; inset:125px 0 0; background:var(--rb-cream); padding:30px 22px; overflow:auto; }
  .rb-nav.is-open ul { display:grid; gap:0; }
  .rb-nav.is-open li { border-bottom:1px solid var(--rb-line); }
  .rb-nav.is-open a { display:block; padding:17px 0; font-size:18px; }
  .rb-hero__inner { grid-template-columns:1fr 1fr; gap:30px; }
  .rb-occasion-box { grid-template-columns:repeat(3,1fr); }
  .rb-category-grid, .woocommerce ul.products, .rb-products .products { grid-template-columns:repeat(3,1fr) !important; }
  .rb-service-grid { grid-template-columns:repeat(2,1fr); }
  .rb-footer__main { grid-template-columns:1.2fr 1fr 1fr; }
  .rb-footer__main > :last-child { grid-column:1/-1; }
}

@media (max-width: 782px) {
  .admin-bar .rb-header { top:46px; }
}

@media (max-width: 760px) {
  .rb-container { width:min(calc(100% - 26px), var(--rb-container)); }
  .rb-section { padding:60px 0; }
  .rb-topbar__inner { min-height:40px; font-size:11px; }
  .rb-header__main { min-height:74px; gap:8px; }
  .rb-brand { min-width:0; }
  .rb-brand__name { font-size:20px; }
  .rb-brand__tag { display:none; }
  .rb-brand .custom-logo { max-height:45px; }
  .rb-icon-btn--account { display:none; }
  .rb-nav.is-open { inset:114px 0 0; }
  .admin-bar .rb-nav.is-open { inset:160px 0 0; }
  .rb-hero__inner { grid-template-columns:1fr; min-height:auto; padding:48px 0 74px; }
  .rb-hero__title { font-size:clamp(44px,13vw,64px); }
  .rb-hero__visual { min-height:385px; }
  .rb-hero-card--main { inset:0 28px 22px 0; }
  .rb-hero-card--accent { width:145px; height:175px; }
  .rb-hero-card__badge { left:10px; bottom:30px; max-width:205px; }
  .rb-occasion-row { margin-top:-28px; }
  .rb-occasion-box { grid-template-columns:1fr 1fr; }
  .rb-occasion:last-child { grid-column:1/-1; }
  .rb-section-head { align-items:start; flex-direction:column; margin-bottom:24px; }
  .rb-category-grid { grid-template-columns:1fr 1fr; }
  .rb-category-card { min-height:280px; }
  .rb-category-card:nth-child(1), .rb-category-card:nth-child(4) { margin-top:0; }
  .woocommerce ul.products, .rb-products .products { grid-template-columns:1fr 1fr !important; gap:12px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { padding:0 12px !important; font-size:13px !important; }
  .woocommerce ul.products li.product .price { padding:0 12px; font-size:14px !important; }
  .woocommerce ul.products li.product .button { margin:8px 12px 0 !important; width:calc(100% - 24px); font-size:11px; }
  .rb-story, .rb-promo { grid-template-columns:1fr; }
  .rb-story__visual { min-height:360px; }
  .rb-promo__copy { padding:36px 25px; }
  .rb-promo__visual { min-height:280px; order:-1; }
  .rb-service-grid { grid-template-columns:1fr; }
  .woocommerce div.product { grid-template-columns:1fr; }
  .woocommerce div.product div.images, .woocommerce div.product div.summary { grid-column:1; }
  .woocommerce div.product div.summary { padding-top:28px; }
  .woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .upsells { grid-column:1; }
  .woocommerce div.product form.cart { align-items:stretch; flex-wrap:wrap; }
  .woocommerce div.product form.cart .single_add_to_cart_button { flex:1; }
  .woocommerce-cart .cart-collaterals .cart_totals { width:100%; }
  .rb-footer__main { grid-template-columns:1fr 1fr; gap:30px; }
  .rb-footer__brand { grid-column:1/-1; }
  .rb-footer__main > :last-child { grid-column:auto; }
  .rb-footer__bottom { flex-direction:column; }
}

@media (max-width: 460px) {
  .rb-header__actions { gap:5px; }
  .rb-icon-btn { width:39px; height:39px; }
  .rb-occasion-box { grid-template-columns:1fr; }
  .rb-occasion:last-child { grid-column:auto; }
  .rb-category-grid { grid-template-columns:1fr; }
  .rb-category-card { min-height:330px; }
  .woocommerce ul.products, .rb-products .products { grid-template-columns:1fr 1fr !important; }
  .rb-footer__main { grid-template-columns:1fr; }
  .rb-footer__main > :last-child { grid-column:auto; }
}


/* Shop landing categories — compact icon grid */
.rb-shop-category-section { border-bottom:1px solid var(--rb-line); }
.rb-shop-category-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:10px;
}
.rb-shop-category-card {
  min-width:0;
  min-height:82px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 13px;
  background:#fff;
  border:1px solid var(--rb-line);
  border-radius:16px;
  box-shadow:0 4px 14px rgba(71,48,58,.035);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.rb-shop-category-card:hover {
  transform:translateY(-2px);
  background:#fffdfb;
  border-color:rgba(216,91,136,.28);
  box-shadow:0 9px 24px rgba(71,48,58,.08);
}
.rb-shop-category-card__icon {
  width:48px;
  height:48px;
  flex:0 0 48px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:var(--rb-pink-dark);
  background:linear-gradient(145deg,var(--rb-pink-soft),#fff4f7);
}
.rb-shop-category-card:nth-child(2n) .rb-shop-category-card__icon {
  color:var(--rb-green-dark);
  background:linear-gradient(145deg,var(--rb-green-soft),#fbfefc);
}
.rb-shop-category-card__icon svg {
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.rb-shop-category-card__body {
  min-width:0;
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:0;
}
.rb-shop-category-card__body strong {
  margin:0;
  max-width:100%;
  color:var(--rb-ink);
  font-family:inherit;
  font-size:14px;
  font-weight:800;
  line-height:1.18;
}
.rb-shop-category-card__count {
  margin-top:4px;
  color:var(--rb-muted);
  font-size:10px;
  font-weight:700;
  text-transform:none;
  letter-spacing:0;
}
.rb-shop-category-card__arrow {
  flex:0 0 auto;
  color:var(--rb-pink-dark);
  font-size:16px;
  opacity:.45;
  transform:translateX(-2px);
  transition:transform .18s ease, opacity .18s ease;
}
.rb-shop-category-card:hover .rb-shop-category-card__arrow { transform:translateX(1px); opacity:1; }
.rb-shop-products-section { background:var(--rb-cream); }
.rb-content--shop { padding:0; }
.rb-section-head--compact { margin-bottom:18px; }

@media (max-width:1024px) {
  .rb-shop-category-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:820px) {
  .rb-shop-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:620px) {
  .rb-shop-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .rb-shop-category-card { min-height:72px; padding:10px; gap:9px; border-radius:14px; }
  .rb-shop-category-card__icon { width:42px; height:42px; flex-basis:42px; border-radius:12px; }
  .rb-shop-category-card__icon svg { width:21px; height:21px; }
  .rb-shop-category-card__body strong { font-size:13px; }
  .rb-shop-category-card__arrow { display:none; }
}
@media (max-width:380px) {
  .rb-shop-category-grid { grid-template-columns:1fr; }
}

/* Dropdown navigation for theme fallback and WordPress menus with children */
.rb-nav li { position:relative; }
.rb-nav .sub-menu { position:absolute; top:calc(100% + 14px); left:-18px; z-index:1000; min-width:270px; padding:10px; background:#fff; border:1px solid var(--rb-line); border-radius:18px; box-shadow:var(--rb-shadow); display:grid; gap:2px; opacity:0; visibility:hidden; transform:translateY(8px); transition:.18s ease; }
.rb-nav li:hover > .sub-menu, .rb-nav li:focus-within > .sub-menu { opacity:1; visibility:visible; transform:translateY(0); }
.rb-nav .sub-menu::before { content:""; position:absolute; left:0; right:0; top:-15px; height:15px; }
.rb-nav .sub-menu a { display:block; padding:10px 12px; border-radius:10px; font-size:13px; white-space:nowrap; }
.rb-nav .sub-menu a:hover { background:var(--rb-green-soft); color:var(--rb-green-dark); }

@media (max-width:1024px) {
  .rb-shop-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .rb-nav.is-open .sub-menu { position:static; min-width:0; padding:0 0 12px 16px; background:transparent; border:0; border-radius:0; box-shadow:none; opacity:1; visibility:visible; transform:none; }
  .rb-nav.is-open .sub-menu a { padding:10px 0; font-size:14px; }
}
@media (max-width:760px) {
  .rb-shop-category-grid { grid-template-columns:1fr 1fr; gap:12px; }
  .rb-shop-category-card__body { padding:14px; }
  .rb-shop-category-card__body strong { font-size:19px; }
  .rb-shop-category-card__link { font-size:11px; }
}
@media (max-width:480px) {
  .rb-shop-category-grid { grid-template-columns:1fr; }
  .rb-shop-category-card__media { aspect-ratio:16/10; }
}

/* ==========================================================
   v1.2 Category archives + product personalization
   ========================================================== */
.rb-category-hero {
  padding:54px 0;
  background:
    radial-gradient(circle at 10% 10%, rgba(216,91,136,.10), transparent 34%),
    linear-gradient(135deg,#fff8fb 0%,#f8e9ee 52%,#eef8f1 100%);
  border-bottom:1px solid var(--rb-line);
}
.rb-category-hero__inner { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); gap:54px; align-items:center; }
.rb-category-hero:not(.rb-category-hero--has-image) .rb-category-hero__inner { grid-template-columns:minmax(0,760px); }
.rb-category-hero h1 { margin:7px 0 14px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(42px,5vw,66px); line-height:.98; }
.rb-category-hero__description, .rb-category-hero__copy > p { max-width:720px; color:var(--rb-muted); font-size:16px; }
.rb-category-hero__description p:first-child { margin-top:0; }
.rb-category-hero__description p:last-child { margin-bottom:0; }
.rb-category-hero__meta { margin-top:20px; display:flex; flex-wrap:wrap; align-items:center; gap:9px; color:var(--rb-green-dark); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.rb-category-hero__image { position:relative; min-height:320px; aspect-ratio:4/3; border-radius:28px; overflow:hidden; box-shadow:var(--rb-shadow); background:linear-gradient(145deg,var(--rb-pink-soft),var(--rb-green-soft)); }
.rb-category-hero__image::after { content:""; position:absolute; inset:12px; border:1px solid rgba(255,255,255,.55); border-radius:20px; pointer-events:none; }
.rb-category-hero__image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.rb-category-children { padding-top:48px; padding-bottom:48px; border-bottom:1px solid var(--rb-line); }
.rb-category-products { background:var(--rb-cream); padding-top:44px; }

.rb-filter-panel { margin:0 0 34px; padding:22px; background:#fff; border:1px solid var(--rb-line); border-radius:24px; box-shadow:0 10px 35px rgba(71,48,58,.05); }
.rb-filter-panel__head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:17px; }
.rb-filter-panel__head h2 { margin:2px 0 0; font-family:Georgia,"Times New Roman",serif; font-size:25px; line-height:1.15; }
.rb-filter-reset { color:var(--rb-pink-dark); font-size:12px; font-weight:850; text-decoration:underline; text-underline-offset:3px; }
.rb-filter-form { display:grid; grid-template-columns:minmax(210px,1.35fr) repeat(2,minmax(105px,.65fr)) repeat(3,minmax(130px,1fr)); gap:12px; align-items:end; }
.rb-filter-field { display:grid; gap:6px; min-width:0; }
.rb-filter-field > span, .rb-filter-stock > span { font-size:11px; font-weight:850; color:var(--rb-green-dark); text-transform:uppercase; letter-spacing:.06em; }
.rb-filter-field input, .rb-filter-field select { width:100%; min-height:46px; border:1px solid var(--rb-line); border-radius:13px; background:#fffdfb; color:var(--rb-ink); padding:10px 12px; font:inherit; font-size:13px; outline:none; }
.rb-filter-field input:focus, .rb-filter-field select:focus { border-color:var(--rb-green); box-shadow:0 0 0 3px rgba(201,230,211,.34); }
.rb-filter-stock { min-height:46px; display:flex; align-items:center; gap:9px; padding:0 11px; border:1px solid var(--rb-line); border-radius:13px; background:#fffdfb; }
.rb-filter-stock input { width:17px; height:17px; accent-color:var(--rb-green-dark); }
.rb-filter-submit { min-height:46px; border:0; cursor:pointer; white-space:nowrap; }
.rb-category-products .woocommerce .woocommerce-result-count { color:var(--rb-muted); font-size:12px; }

/* Prevent duplicate Woo archive headings because the theme supplies its own. */
.woocommerce-products-header:empty { display:none; }

.rb-personalization { margin:24px 0 18px; padding:20px; border:1px solid rgba(201,230,211,.62); border-radius:22px; background:linear-gradient(145deg,#fffafd,#f3faf5); }
.rb-personalization__head { display:flex; gap:12px; align-items:flex-start; margin-bottom:17px; }
.rb-personalization__icon { flex:0 0 34px; width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:var(--rb-pink-soft); color:var(--rb-pink-dark); font-size:16px; }
.rb-personalization__head h3 { margin:0 0 3px; font-family:Georgia,"Times New Roman",serif; font-size:23px; line-height:1.15; }
.rb-personalization__head p { margin:0; color:var(--rb-muted); font-size:12px; line-height:1.5; }
.rb-personalization__grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.rb-personalization__field { display:grid; gap:6px; min-width:0; }
.rb-personalization__field--wide { grid-column:1/-1; }
.rb-personalization__field > span:first-child { color:var(--rb-green-dark); font-size:11px; font-weight:850; text-transform:uppercase; letter-spacing:.055em; }
.rb-personalization__field input[type="text"], .rb-personalization__field input[type="date"], .rb-personalization__field textarea { width:100%; min-height:46px; border:1px solid var(--rb-line); border-radius:13px; background:#fff; padding:10px 12px; color:var(--rb-ink); font:inherit; font-size:13px; outline:none; resize:vertical; }
.rb-personalization__field textarea { min-height:86px; }
.rb-personalization__field input:focus, .rb-personalization__field textarea:focus { border-color:var(--rb-pink); box-shadow:0 0 0 3px rgba(216,91,136,.10); }
.rb-file-input { position:relative; min-height:46px; display:flex; align-items:center; gap:9px; border:1px dashed rgba(111,146,123,.35); border-radius:13px; background:#fff; padding:6px 9px; overflow:hidden; }
.rb-file-input input[type="file"] { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; z-index:2; }
.rb-file-input__button { flex:0 0 auto; padding:7px 10px; border-radius:9px; background:var(--rb-green-soft); color:var(--rb-green-dark); font-size:11px; font-weight:850; }
.rb-file-input__name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--rb-muted); font-size:11px; }
.rb-personalization__hint { margin:13px 0 0; padding-top:12px; border-top:1px solid rgba(111,146,123,.18); color:var(--rb-muted); font-size:11px; }
.rb-cart-upload { font-weight:800; color:var(--rb-pink-dark); }

/* Keep Woo quantity + add-to-cart below the personalization block. */
.woocommerce div.product form.cart { align-items:flex-end; flex-wrap:wrap; }
.woocommerce div.product form.cart .rb-personalization { flex:0 0 100%; width:100%; }
.woocommerce div.product form.variations_form { display:block; }
.woocommerce div.product form.variations_form .variations { margin-bottom:14px; }
.woocommerce div.product form.variations_form .single_variation_wrap .woocommerce-variation-add-to-cart { display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap; }
.woocommerce div.product form.variations_form .single_variation_wrap .woocommerce-variation-add-to-cart .rb-personalization { flex-basis:100%; }

@media (max-width:1180px) {
  .rb-filter-form { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .rb-filter-field--search { grid-column:span 2; }
}
@media (max-width:900px) {
  .rb-category-hero__inner { grid-template-columns:1fr .75fr; gap:30px; }
  .rb-filter-form { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .rb-filter-field--search { grid-column:span 2; }
}
@media (max-width:760px) {
  .rb-category-hero { padding:38px 0; }
  .rb-category-hero__inner { grid-template-columns:1fr; gap:24px; }
  .rb-category-hero__image { min-height:240px; aspect-ratio:16/10; }
  .rb-category-children { padding-top:36px; padding-bottom:36px; }
  .rb-filter-panel { padding:16px; border-radius:18px; }
  .rb-filter-panel__head { align-items:flex-start; flex-direction:column; gap:7px; }
  .rb-filter-form { grid-template-columns:1fr 1fr; }
  .rb-filter-field--search { grid-column:1/-1; }
  .rb-filter-submit { width:100%; }
  .rb-personalization__grid { grid-template-columns:1fr; }
  .rb-personalization__field--wide { grid-column:auto; }
}
@media (max-width:480px) {
  .rb-filter-form { grid-template-columns:1fr; }
  .rb-filter-field--search { grid-column:auto; }
  .rb-personalization { padding:16px; }
}


/* ==========================================================
   v1.3 Softer sage palette + mobile drawer navigation
   ========================================================== */
@media (max-width:1024px) {
  body.menu-open { overflow:hidden; touch-action:none; }

  .rb-nav {
    display:block;
    position:fixed;
    z-index:1150;
    top:0;
    right:0;
    bottom:0;
    left:auto;
    width:min(88vw,390px);
    height:100dvh;
    padding:92px 20px 28px;
    background:rgba(255,250,245,.985);
    border-left:1px solid rgba(234,223,226,.9);
    box-shadow:-20px 0 50px rgba(45,42,43,.16);
    overflow-y:auto;
    overscroll-behavior:contain;
    transform:translateX(105%);
    visibility:hidden;
    opacity:0;
    transition:transform .28s ease, opacity .22s ease, visibility .28s ease;
    -webkit-overflow-scrolling:touch;
  }
  .rb-nav.is-open {
    display:block;
    inset:0 0 0 auto;
    transform:translateX(0);
    visibility:visible;
    opacity:1;
  }
  .admin-bar .rb-nav.is-open {
    top:32px;
    height:calc(100dvh - 32px);
    inset-inline: auto 0;
    bottom:0;
  }
  .rb-nav > div > ul,
  .rb-nav > ul,
  .rb-nav.is-open ul.menu {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:7px;
    width:100%;
  }
  .rb-nav.is-open li {
    position:relative;
    border:0;
    width:100%;
  }
  .rb-nav.is-open li > a {
    display:flex;
    align-items:center;
    min-height:52px;
    padding:12px 48px 12px 15px;
    border:1px solid rgba(234,223,226,.82);
    border-radius:15px;
    background:#fff;
    color:var(--rb-ink);
    font-size:16px;
    font-weight:800;
    line-height:1.25;
  }
  .rb-nav.is-open li > a::after { display:none; }
  .rb-nav.is-open .current-menu-item > a,
  .rb-nav.is-open .current-menu-ancestor > a {
    border-color:rgba(216,91,136,.25);
    background:#fff5f8;
    color:var(--rb-pink-dark);
  }

  .rb-submenu-toggle {
    display:grid;
    place-items:center;
    position:absolute;
    top:7px;
    right:7px;
    width:38px;
    height:38px;
    padding:0;
    border:0;
    border-radius:11px;
    background:var(--rb-green-soft);
    color:#486552;
    z-index:2;
  }
  .rb-submenu-toggle svg {
    width:16px;
    height:16px;
    transition:transform .2s ease;
  }
  .rb-nav.is-open li.submenu-open > .rb-submenu-toggle svg { transform:rotate(180deg); }

  .rb-nav.is-open .sub-menu {
    position:static;
    display:none;
    min-width:0;
    margin:6px 0 4px;
    padding:4px 0 4px 12px;
    border:0;
    border-left:2px solid #d6ebdd;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    transform:none;
  }
  .rb-nav.is-open li.submenu-open > .sub-menu { display:flex; flex-direction:column; gap:5px; }
  .rb-nav.is-open .sub-menu li > a {
    min-height:44px;
    padding:10px 42px 10px 13px;
    border:0;
    border-radius:12px;
    background:#f4faf6;
    color:#607267;
    font-size:14px;
    font-weight:720;
    white-space:normal;
  }
  .rb-nav.is-open .sub-menu .sub-menu { margin-left:8px; }

  .rb-menu-toggle {
    position:relative;
    z-index:1201;
  }
  .rb-menu-toggle[aria-expanded="true"] {
    position:fixed;
    top:22px;
    right:18px;
    background:#fff;
    border-color:rgba(216,91,136,.25);
    box-shadow:0 10px 30px rgba(45,42,43,.12);
  }
  .admin-bar .rb-menu-toggle[aria-expanded="true"] { top:54px; }
  .rb-menu-toggle[aria-expanded="true"] svg { display:none; }
  .rb-menu-toggle[aria-expanded="true"]::before,
  .rb-menu-toggle[aria-expanded="true"]::after {
    content:"";
    position:absolute;
    width:18px;
    height:2px;
    border-radius:2px;
    background:var(--rb-pink-dark);
  }
  .rb-menu-toggle[aria-expanded="true"]::before { transform:rotate(45deg); }
  .rb-menu-toggle[aria-expanded="true"]::after { transform:rotate(-45deg); }

  .rb-menu-backdrop {
    position:fixed;
    inset:0;
    z-index:1090;
    background:rgba(32,35,33,.32);
    backdrop-filter:blur(2px);
    opacity:0;
    visibility:hidden;
    transition:opacity .22s ease, visibility .22s ease;
  }
  body.menu-open .rb-menu-backdrop { opacity:1; visibility:visible; }
}

@media (max-width:782px) {
  .admin-bar .rb-nav.is-open {
    top:46px;
    height:calc(100dvh - 46px);
  }
  .admin-bar .rb-menu-toggle[aria-expanded="true"] { top:60px; }
}

@media (max-width:760px) {
  .rb-header__main { min-height:70px; }
  .rb-nav { width:min(91vw,365px); padding:84px 14px 24px; }
  .rb-menu-toggle[aria-expanded="true"] { top:15px; right:13px; }
  .rb-nav.is-open li > a { min-height:50px; font-size:15px; }
  .rb-topbar { background:linear-gradient(90deg,#f9e6ed,#eaf6ee); }
}

@media (max-width:420px) {
  .rb-nav { width:94vw; }
  .rb-header__actions { gap:4px; }
}


/* ==========================================================
   v1.3.2 Pastel header + footer palette
   ========================================================== */
.rb-shop-category-card:nth-child(4n+1),
.rb-shop-category-card:nth-child(4n+4) {
  background:linear-gradient(145deg,#fff,#fff8fb);
}
.rb-shop-category-card:nth-child(4n+2),
.rb-shop-category-card:nth-child(4n+3) {
  background:linear-gradient(145deg,#fff,#f6fbf7);
}
.rb-shop-category-card:nth-child(2n) .rb-shop-category-card__arrow { color:var(--rb-green-dark); }
.rb-occasion:nth-child(2n):hover { background:var(--rb-green-soft); }
.rb-occasion:nth-child(2n+1):hover { background:var(--rb-pink-soft); }
.rb-service:nth-child(2n) svg { color:var(--rb-green-dark); }
.rb-service:nth-child(2n+1) svg { color:var(--rb-pink-dark); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background:linear-gradient(135deg,#e5f3e9,#f9e7ee) !important; color:#4f4448 !important;
}
@media (max-width:1024px) {
  .rb-nav.is-open {
    background:linear-gradient(180deg,#fffafd 0%,#fff 48%,#f4faf6 100%);
  }
  .rb-nav.is-open > div > ul > li:nth-child(2n) > a,
  .rb-nav.is-open > ul > li:nth-child(2n) > a {
    background:#f5faf7;
    border-color:#e1eee5;
  }
  .rb-nav.is-open > div > ul > li:nth-child(2n+1) > a,
  .rb-nav.is-open > ul > li:nth-child(2n+1) > a {
    background:#fff8fb;
    border-color:#f1e0e7;
  }
  .rb-submenu-toggle { background:#edf7f0; }
}

/* ==========================================================
   v1.4.0 Shop Mega Menu
   ========================================================== */
@media (min-width:1025px) {
  .rb-header { overflow:visible; }
  .rb-nav .rb-shop-trigger > .sub-menu { display:none !important; }
  .rb-nav .rb-shop-trigger > a { padding-right:17px; }
  .rb-nav .rb-shop-trigger > a::before {
    content:"";
    position:absolute;
    right:0;
    top:50%;
    width:6px;
    height:6px;
    border-right:1.6px solid currentColor;
    border-bottom:1.6px solid currentColor;
    transform:translateY(-68%) rotate(45deg);
    transition:transform .2s ease;
  }
  .rb-nav .rb-shop-trigger.rb-mega-active > a::before { transform:translateY(-32%) rotate(225deg); }

  .rb-mega-menu {
    display:block;
    position:absolute;
    top:100%;
    left:50%;
    z-index:1080;
    width:min(1180px,calc(100vw - 34px));
    transform:translate(-50%,14px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s ease, transform .2s ease, visibility .18s ease;
  }
  .rb-mega-menu::before {
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-18px;
    height:18px;
  }
  .rb-mega-menu.is-open {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate(-50%,8px);
  }
  .rb-mega-menu__inner {
    max-height:min(72vh,680px);
    overflow:auto;
    padding:22px;
    background:rgba(255,255,255,.985);
    border:1px solid rgba(226,214,219,.92);
    border-radius:0 0 26px 26px;
    box-shadow:0 26px 70px rgba(64,47,55,.17);
  }
  .rb-mega-menu__top {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:2px 4px 17px;
    border-bottom:1px solid var(--rb-line);
  }
  .rb-mega-menu__top > div:first-child { display:flex; align-items:baseline; gap:12px; }
  .rb-mega-menu__eyebrow {
    color:var(--rb-pink-dark);
    font-size:11px;
    font-weight:850;
    letter-spacing:.11em;
    text-transform:uppercase;
  }
  .rb-mega-menu__top strong { font-family:Georgia,"Times New Roman",serif; font-size:22px; color:#403a3c; }
  .rb-mega-menu__quick { display:flex; align-items:center; gap:7px; flex-wrap:wrap; justify-content:flex-end; }
  .rb-mega-menu__quick a {
    padding:8px 12px;
    border-radius:999px;
    background:#fff8fb;
    color:var(--rb-pink-dark);
    font-size:12px;
    font-weight:800;
    border:1px solid #f1dfe7;
  }
  .rb-mega-menu__quick a:nth-child(2n) { background:#f3faf5; color:#567160; border-color:#dcece1; }
  .rb-mega-menu__quick a::after { display:none !important; }
  .rb-mega-menu__quick a:hover { transform:translateY(-1px); }

  .rb-mega-menu__grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    padding:17px 0;
  }
  .rb-mega-group {
    min-width:0;
    padding:14px;
    border:1px solid var(--rb-line);
    border-radius:18px;
    background:linear-gradient(145deg,#fff,#fff9fb);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  }
  .rb-mega-group--green { background:linear-gradient(145deg,#fff,#f4faf6); }
  .rb-mega-group:hover { transform:translateY(-2px); box-shadow:0 11px 28px rgba(73,55,63,.08); border-color:#ecd8e1; }
  .rb-mega-group--green:hover { border-color:#d8e9dd; }
  .rb-mega-group__title {
    display:flex;
    align-items:center;
    gap:10px;
    padding:0 0 11px;
    color:var(--rb-ink);
  }
  .rb-mega-group__title::after { display:none !important; }
  .rb-mega-group__icon {
    flex:0 0 42px;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:#fdebf2;
    color:var(--rb-pink-dark);
  }
  .rb-mega-group--green .rb-mega-group__icon { background:#eaf6ee; color:#668671; }
  .rb-mega-group__icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
  .rb-mega-group__title > span:last-child { min-width:0; display:grid; gap:2px; }
  .rb-mega-group__title strong { font-size:14px; line-height:1.15; color:#403a3c; }
  .rb-mega-group__title small { color:#968a8f; font-size:10px; font-weight:650; }
  .rb-mega-group__children { list-style:none; margin:0; padding:0; display:grid; gap:1px; }
  .rb-mega-group__children li { margin:0; }
  .rb-mega-group__children a {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-height:31px;
    padding:6px 7px;
    border-radius:9px;
    color:#665f62;
    font-size:12px;
    font-weight:650;
    line-height:1.25;
  }
  .rb-mega-group__children a::after { display:none !important; }
  .rb-mega-group__children a span { opacity:0; color:var(--rb-pink-dark); transform:translateX(-3px); transition:.15s ease; }
  .rb-mega-group__children a:hover { background:#fff3f7; color:var(--rb-pink-dark); }
  .rb-mega-group--green .rb-mega-group__children a:hover { background:#edf7f0; color:#587662; }
  .rb-mega-group__children a:hover span { opacity:1; transform:none; }
  .rb-mega-group__more {
    display:inline-flex;
    margin-top:7px;
    padding:4px 7px;
    color:var(--rb-pink-dark);
    font-size:10px;
    font-weight:850;
  }
  .rb-mega-group--green .rb-mega-group__more { color:#62816d; }
  .rb-mega-group__more::after { display:none !important; }

  .rb-mega-menu__footer {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:15px 16px;
    border-radius:17px;
    background:linear-gradient(90deg,#fff2f7 0%,#fff 48%,#eef8f1 100%);
    border:1px solid #eee1e5;
  }
  .rb-mega-menu__footer > span { color:#70666a; font-size:12px; line-height:1.45; }
  .rb-mega-menu__footer strong { color:#403a3c; }
  .rb-mega-menu__all { flex:0 0 auto; min-height:40px; padding:0 16px; font-size:12px; }
  .rb-mega-menu__all::after { display:none !important; }

  .rb-mega-backdrop {
    position:fixed;
    inset:0;
    z-index:990;
    background:rgba(50,42,46,.16);
    backdrop-filter:blur(1.5px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:.18s ease;
  }
  body.mega-menu-open .rb-mega-backdrop { opacity:1; visibility:visible; pointer-events:auto; }
}

@media (min-width:1025px) and (max-width:1220px) {
  .rb-mega-menu__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:1024px) {
  .rb-mega-menu { display:none !important; }
  .rb-mobile-shop-categories { border-left-color:#e9d9e0 !important; }
  .rb-mobile-shop-categories li:nth-child(2n) > a { background:#f3faf5 !important; }
  .rb-mobile-shop-categories li:nth-child(2n+1) > a { background:#fff7fa !important; }
  .rb-mobile-shop-all > a {
    color:var(--rb-pink-dark) !important;
    font-weight:850 !important;
    background:linear-gradient(90deg,#fff0f5,#eef8f1) !important;
  }
}


/* v1.4.2 mobile stabilization */
@media (max-width:1024px) {
  .rb-mega-menu { display:none !important; }
  .rb-nav {
    display:block !important;
    top:0 !important; right:0 !important; bottom:0 !important; left:auto !important;
    width:min(88vw,390px) !important;
    height:100dvh !important;
    padding:92px 20px 28px !important;
    transform:translateX(105%);
    visibility:hidden; opacity:0; pointer-events:none;
  }
  .rb-nav.is-open {
    transform:translateX(0) !important;
    visibility:visible !important; opacity:1 !important; pointer-events:auto !important;
  }
  .rb-menu-toggle { display:grid !important; }
  .rb-submenu-toggle { display:grid !important; }
  .rb-shop-category-card__icon svg { width:21px !important; height:21px !important; max-width:21px !important; max-height:21px !important; }
}
@media (min-width:1025px) {
  .rb-menu-toggle { display:none !important; }
  .rb-submenu-toggle { display:none !important; }
}


/* v1.4.4 mobile header and drawer */
.rb-mobile-nav-head{display:none}
@media(max-width:1024px){
body.menu-open{overflow:hidden}
.rb-header__main{min-height:78px;grid-template-columns:minmax(62px,1fr) auto;gap:10px;align-items:center}
.rb-brand{min-width:0;justify-self:start}.rb-brand .custom-logo-link{display:block;line-height:0}.rb-brand .custom-logo{max-height:58px;max-width:78px;width:auto;object-fit:contain}
.rb-header__actions{justify-self:end;display:flex;align-items:center;gap:7px;flex-wrap:nowrap}.rb-header__actions .rb-icon-btn{width:44px;height:44px;flex:0 0 44px;padding:0;margin:0;border:1px solid #eadfe2;background:#fff;color:var(--rb-pink-dark);box-shadow:0 4px 14px rgba(88,63,73,.04)}.rb-header__actions .rb-icon-btn svg{width:20px;height:20px}.rb-menu-toggle{display:grid;position:static!important;z-index:auto!important}.rb-menu-toggle[aria-expanded=true]{position:static!important;top:auto!important;right:auto!important;background:#fff6f9;border-color:#eccbd8;box-shadow:0 4px 14px rgba(88,63,73,.04)}.rb-menu-toggle[aria-expanded=true] svg{display:block!important}.rb-menu-toggle[aria-expanded=true]::before,.rb-menu-toggle[aria-expanded=true]::after{content:none!important}
.rb-nav{display:block;position:fixed;z-index:1200;top:0;right:0;bottom:0;left:auto;width:min(86vw,360px);height:100dvh;padding:0 16px 28px;background:linear-gradient(180deg,#fffafd 0%,#fff 52%,#f4faf6 100%);border-left:1px solid #eadfe2;border-radius:24px 0 0 24px;box-shadow:-24px 0 70px rgba(45,42,43,.2);overflow-y:auto;transform:translateX(104%);visibility:hidden;opacity:0;pointer-events:none;transition:transform .26s ease,opacity .2s ease,visibility .26s ease}.rb-nav.is-open{inset:0 0 0 auto;transform:translateX(0);visibility:visible;opacity:1;pointer-events:auto}.admin-bar .rb-nav.is-open{top:32px;height:calc(100dvh - 32px)}
.rb-mobile-nav-head{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:78px;margin:0 -16px 14px;padding:14px 16px;background:rgba(255,250,253,.97);border-bottom:1px solid #efe1e6;backdrop-filter:blur(12px)}.rb-mobile-nav-head__copy{display:grid;gap:2px}.rb-mobile-nav-head__copy span{color:#7f9f89;font-size:10px;font-weight:850;letter-spacing:.10em;text-transform:uppercase}.rb-mobile-nav-head__copy strong{color:var(--rb-pink-dark);font-family:Georgia,"Times New Roman",serif;font-size:25px;line-height:1}.rb-mobile-nav-close{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid #efdce4;border-radius:50%;background:#fff;color:var(--rb-pink-dark);box-shadow:0 5px 18px rgba(71,48,58,.07)}.rb-mobile-nav-close svg{width:20px;height:20px}
.rb-menu-backdrop{position:fixed;inset:0;z-index:1180;background:rgba(43,37,40,.32);backdrop-filter:blur(2px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}body.menu-open .rb-menu-backdrop{opacity:1;visibility:visible;pointer-events:auto}
}
@media(max-width:782px){.admin-bar .rb-nav.is-open{top:46px;height:calc(100dvh - 46px)}}
@media(max-width:560px){.rb-container{width:min(calc(100% - 24px),var(--rb-container))}.rb-header__main{min-height:76px;grid-template-columns:minmax(58px,1fr) auto;gap:8px}.rb-brand .custom-logo{max-height:56px;max-width:74px}.rb-header__actions{gap:6px}.rb-header__actions .rb-icon-btn{width:42px;height:42px;flex-basis:42px}.rb-icon-btn--account{display:none!important}.rb-nav{width:min(90vw,350px);border-radius:20px 0 0 20px}.rb-cart-count{right:-2px;top:-4px}}
@media(max-width:380px){.rb-header__actions{gap:4px}.rb-header__actions .rb-icon-btn{width:40px;height:40px;flex-basis:40px}.rb-brand .custom-logo{max-width:66px;max-height:52px}}


/* ==========================================================
   v1.4.5 definitive mobile full-screen navigation
   ========================================================== */
@media (max-width:1024px) {
  /* Closed means completely absent from layout/paint. */
  #rb-main-nav.rb-nav {
    display:none !important;
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    max-width:none !important;
    height:100dvh !important;
    margin:0 !important;
    padding:0 18px 32px !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    background:linear-gradient(180deg,#fff8fb 0%,#fffdfb 52%,#f1f9f4 100%) !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    z-index:2147483000 !important;
  }
  #rb-main-nav.rb-nav.is-open {
    display:block !important;
  }
  body.menu-open .rb-header,
  body.menu-open #site-header {
    z-index:2147482999 !important;
  }
  body.menu-open .rb-menu-backdrop {
    display:none !important;
  }
  #rb-main-nav .rb-mobile-nav-head {
    position:sticky !important;
    top:0 !important;
    z-index:10 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:82px !important;
    margin:0 -18px 18px !important;
    padding:16px 18px !important;
    background:#fff9fc !important;
    border-bottom:1px solid #eedfe5 !important;
    box-shadow:0 7px 24px rgba(65,48,55,.05) !important;
  }
  #rb-main-nav .rb-mobile-nav-close {
    display:grid !important;
    position:relative !important;
    z-index:12 !important;
    width:46px !important;
    height:46px !important;
    flex:0 0 46px !important;
    place-items:center !important;
    border:1px solid #ebd9e1 !important;
    border-radius:50% !important;
    background:#fff !important;
    color:#b94f78 !important;
  }
  #rb-main-nav > div:not(.rb-mobile-nav-head) > ul,
  #rb-main-nav > ul {
    width:100% !important;
    max-width:620px !important;
    margin:0 auto !important;
  }
  #rb-main-nav.is-open li > a {
    min-height:54px !important;
    padding:13px 50px 13px 16px !important;
    border-radius:16px !important;
  }
  #rb-main-nav .rb-submenu-toggle {
    right:8px !important;
    top:8px !important;
    width:38px !important;
    height:38px !important;
  }
  #rb-main-nav .sub-menu {
    position:static !important;
  }
}
@media (max-width:782px) {
  .admin-bar #rb-main-nav.rb-nav,
  .admin-bar #rb-main-nav.rb-nav.is-open {
    top:0 !important;
    height:100dvh !important;
  }
}


/* v1.5.2 Mobile featured categories fix */
@media (max-width: 1024px) {
  .rb-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:16px !important; }
  .rb-category-card { min-height:320px; }
  .rb-category-card__content { padding:20px; }
  .rb-category-card__content h3 { font-size:26px; line-height:1.05; }
  .rb-category-card__content span { font-size:15px; line-height:1.55; }
}
@media (max-width: 760px) {
  .rb-category-grid { grid-template-columns:1fr !important; gap:16px !important; }
  .rb-category-card { min-height:380px; border-radius:22px; }
  .rb-category-card img { object-position:center center; }
  .rb-category-card__content { padding:22px 20px 24px; }
  .rb-category-card__content small { font-size:11px; }
  .rb-category-card__content h3 { font-size:38px; line-height:1.02; margin:6px 0 10px; max-width:92%; }
  .rb-category-card__content span { display:block; max-width:88%; font-size:17px; line-height:1.5; }
}
@media (max-width: 460px) {
  .rb-category-card { min-height:360px; }
  .rb-category-card__content h3 { font-size:34px; }
  .rb-category-card__content span { font-size:16px; max-width:90%; }
}


/* ==========================================================
   v1.5.3 Mobile single-product hardening
   ========================================================== */
@media (max-width: 760px) {
  body.single-product,
  body.single-product .site-main,
  body.single-product .rb-content,
  body.single-product .woocommerce,
  body.single-product div.product {
    max-width:100%;
    overflow-x:hidden;
  }

  body.single-product .rb-content {
    padding:24px 0 54px;
  }

  body.single-product .woocommerce div.product {
    display:block !important;
    width:100% !important;
    min-width:0 !important;
  }

  body.single-product .woocommerce div.product div.images,
  body.single-product .woocommerce div.product div.summary,
  body.single-product .woocommerce div.product .woocommerce-tabs,
  body.single-product .woocommerce div.product .related,
  body.single-product .woocommerce div.product .upsells {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    float:none !important;
    clear:both !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  body.single-product .woocommerce div.product div.images {
    margin-bottom:22px !important;
  }

  body.single-product .woocommerce div.product .woocommerce-product-gallery,
  body.single-product .woocommerce div.product .woocommerce-product-gallery__wrapper,
  body.single-product .woocommerce div.product .woocommerce-product-gallery__image,
  body.single-product .woocommerce div.product .woocommerce-product-gallery__image a,
  body.single-product .woocommerce div.product .woocommerce-product-gallery__image img {
    width:100% !important;
    max-width:100% !important;
  }

  body.single-product .woocommerce div.product .woocommerce-product-gallery__wrapper {
    border-radius:20px;
    overflow:hidden;
  }

  body.single-product .woocommerce div.product .woocommerce-product-gallery__image img {
    height:auto !important;
    object-fit:contain;
  }

  body.single-product .woocommerce div.product div.images .flex-control-thumbs {
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:7px !important;
    width:100% !important;
    padding:0 !important;
    overflow:visible !important;
  }

  body.single-product .woocommerce div.product div.images .flex-control-thumbs li {
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
  }

  body.single-product .woocommerce div.product div.images .flex-control-thumbs img {
    width:100% !important;
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:10px;
  }

  body.single-product .woocommerce div.product div.summary {
    padding:0 !important;
  }

  body.single-product .woocommerce div.product .product_title {
    font-size:clamp(30px,9vw,40px) !important;
    line-height:1.06 !important;
    overflow-wrap:anywhere;
    margin-bottom:12px !important;
  }

  body.single-product .woocommerce div.product p.price,
  body.single-product .woocommerce div.product span.price {
    display:block;
    font-size:23px !important;
    line-height:1.2;
    margin:0 0 16px !important;
  }

  body.single-product .rb-product-note {
    margin:16px 0;
    padding:14px 15px;
    border-radius:15px;
    line-height:1.55;
  }

  body.single-product .woocommerce div.product form.cart,
  body.single-product .woocommerce div.product form.variations_form,
  body.single-product .woocommerce div.product .single_variation_wrap,
  body.single-product .woocommerce div.product .woocommerce-variation-add-to-cart {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  body.single-product .woocommerce div.product form.cart {
    display:grid !important;
    grid-template-columns:92px minmax(0,1fr);
    gap:10px !important;
    align-items:stretch !important;
    margin:20px 0 !important;
  }

  body.single-product .woocommerce div.product form.cart > .rb-personalization,
  body.single-product .woocommerce div.product form.cart > table,
  body.single-product .woocommerce div.product form.cart > .variations,
  body.single-product .woocommerce div.product form.cart > .single_variation_wrap,
  body.single-product .woocommerce div.product form.cart > .woocommerce-variation-description,
  body.single-product .woocommerce div.product form.cart > .single_variation {
    grid-column:1/-1;
  }

  body.single-product .woocommerce div.product form.cart .quantity {
    width:92px !important;
    margin:0 !important;
  }

  body.single-product .woocommerce .quantity .qty {
    width:100% !important;
    min-width:0 !important;
    height:50px !important;
    padding:0 8px;
    text-align:center;
  }

  body.single-product .woocommerce div.product form.cart .single_add_to_cart_button {
    width:100% !important;
    min-width:0 !important;
    min-height:50px;
    margin:0 !important;
    padding:12px 14px !important;
    white-space:normal;
    text-align:center;
  }

  body.single-product .woocommerce div.product form.variations_form {
    display:block !important;
  }

  body.single-product .woocommerce div.product form.variations_form table.variations,
  body.single-product .woocommerce div.product form.variations_form table.variations tbody,
  body.single-product .woocommerce div.product form.variations_form table.variations tr,
  body.single-product .woocommerce div.product form.variations_form table.variations th,
  body.single-product .woocommerce div.product form.variations_form table.variations td {
    display:block !important;
    width:100% !important;
    max-width:100% !important;
  }

  body.single-product .woocommerce div.product form.variations_form table.variations {
    margin:0 0 14px !important;
  }

  body.single-product .woocommerce div.product form.variations_form table.variations tr {
    margin-bottom:12px;
  }

  body.single-product .woocommerce div.product form.variations_form table.variations th.label {
    padding:0 0 5px !important;
    text-align:left !important;
  }

  body.single-product .woocommerce div.product form.variations_form table.variations td.value {
    padding:0 !important;
  }

  body.single-product .woocommerce div.product form.variations_form select {
    width:100% !important;
    max-width:100% !important;
    min-height:48px;
    border:1px solid var(--rb-line);
    border-radius:13px;
    background:#fff;
    padding:0 12px;
  }

  body.single-product .woocommerce div.product .reset_variations {
    display:inline-block;
    margin-top:7px;
  }

  body.single-product .rb-personalization {
    width:100% !important;
    max-width:100% !important;
    margin:18px 0 14px !important;
    padding:15px !important;
    border-radius:17px;
  }

  body.single-product .rb-personalization__head {
    gap:10px;
  }

  body.single-product .rb-personalization__head h3 {
    font-size:21px;
  }

  body.single-product .rb-personalization__grid {
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  body.single-product .rb-personalization__field,
  body.single-product .rb-personalization__field--wide {
    width:100%;
    min-width:0;
    grid-column:auto !important;
  }

  body.single-product .rb-personalization__field input,
  body.single-product .rb-personalization__field textarea,
  body.single-product .rb-personalization__field select {
    width:100% !important;
    max-width:100% !important;
  }

  body.single-product .rb-personalization input[type="file"] {
    display:block;
    width:100% !important;
    max-width:100% !important;
    font-size:12px;
    overflow:hidden;
  }

  body.single-product .woocommerce div.product .product_meta {
    display:block !important;
    width:100%;
    overflow-wrap:anywhere;
    line-height:1.65;
    font-size:11px;
  }

  body.single-product .woocommerce div.product .product_meta > span {
    display:block;
    margin-bottom:7px;
  }

  body.single-product .woocommerce div.product .product_meta a {
    display:inline;
    white-space:normal;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs {
    margin-top:36px !important;
    padding-top:20px !important;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
    width:100%;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li,
  body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    width:100% !important;
    text-align:center;
  }

  body.single-product .woocommerce div.product .woocommerce-tabs .panel {
    padding:18px 16px !important;
    border-radius:17px;
    overflow-wrap:anywhere;
  }

  body.single-product .woocommerce div.product .related,
  body.single-product .woocommerce div.product .upsells {
    margin-top:42px !important;
  }

  body.single-product .woocommerce div.product .related > h2,
  body.single-product .woocommerce div.product .upsells > h2 {
    font-size:28px !important;
  }

  body.single-product .woocommerce div.product .related ul.products,
  body.single-product .woocommerce div.product .upsells ul.products {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  body.single-product #review_form_wrapper,
  body.single-product #review_form,
  body.single-product #respond,
  body.single-product #commentform {
    width:100%;
    max-width:100%;
  }

  body.single-product #commentform input[type="text"],
  body.single-product #commentform input[type="email"],
  body.single-product #commentform textarea,
  body.single-product #commentform select {
    width:100% !important;
    max-width:100% !important;
  }
}

@media (max-width: 420px) {
  body.single-product .woocommerce div.product form.cart {
    grid-template-columns:78px minmax(0,1fr);
  }
  body.single-product .woocommerce div.product form.cart .quantity {
    width:78px !important;
  }
  body.single-product .woocommerce div.product .related ul.products,
  body.single-product .woocommerce div.product .upsells ul.products {
    grid-template-columns:1fr 1fr !important;
  }
}


/* v1.5.4 — Mobile WooCommerce gallery height fix */
@media (max-width: 760px) {
  body.single-product .woocommerce-product-gallery,
  body.single-product .woocommerce-product-gallery .flex-viewport,
  body.single-product .woocommerce-product-gallery__wrapper {
    min-height:0 !important;
    max-height:none !important;
  }

  body.single-product .woocommerce-product-gallery .flex-viewport {
    height:auto !important;
    margin:0 !important;
    overflow:hidden !important;
  }

  body.single-product .woocommerce-product-gallery__wrapper {
    height:auto !important;
    margin:0 !important;
  }

  body.single-product .woocommerce-product-gallery__image,
  body.single-product .woocommerce-product-gallery__image a {
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 !important;
  }

  body.single-product .woocommerce-product-gallery__image img {
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:contain !important;
  }

  body.single-product .woocommerce div.product div.images .flex-control-thumbs {
    margin-top:10px !important;
  }
}
