/*
Theme Name: Flatsome Child
Description: LUMI by Shahad child theme for Flatsome
Author: UX Themes
Template: flatsome
Version: 3.2.1
*/

/* ========== LUMI design tokens ========== */
:root {
  --lumi-bg: #FBF8F3;
  --lumi-surface: #F3ECE2;
  --lumi-ink: #2E241B;
  --lumi-text: #4A3E33;
  --lumi-muted: #7A6B5C;
  --lumi-gold: #B5813A;
  --lumi-gold-dark: #8C6228;
  --lumi-line: #E6DBCC;
}

body { background: var(--lumi-bg); color: var(--lumi-text); letter-spacing: .01em; }
h1, h2, h3, h4, h5, h6, .heading-font { line-height: 1.12; letter-spacing: 0; color: var(--lumi-ink); }
.is-divider { background-color: var(--lumi-line); }

/* Typography helpers used in UX Builder text */
.lumi-kicker { font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--lumi-gold); margin-bottom: 14px; font-weight: 500; }
.lumi-display { font-size: clamp(40px, 5.2vw, 72px); font-weight: 500; line-height: 1.06; margin-bottom: 18px; }
.lumi-display em, .lumi-h2 em { font-style: italic; color: var(--lumi-gold); padding-bottom: .06em; }
.lumi-h2 { font-size: clamp(32px, 3.4vw, 46px); font-weight: 500; line-height: 1.1; margin-bottom: 16px; }
.lumi-lead { font-size: 17px; line-height: 1.7; max-width: 34em; color: var(--lumi-muted); margin-bottom: 28px; }
[align="center"] .lumi-lead, .text-center .lumi-lead, .lumi-lead.center { margin-left: auto; margin-right: auto; }
.col[class*="text-center"] .lumi-lead, .lumi-quote { margin-left: auto; margin-right: auto; }
.lumi-quote { font-family: "Cormorant Garamond", serif; font-style: italic; font-size: clamp(26px, 2.8vw, 38px); line-height: 1.3; color: var(--lumi-ink); max-width: 22em; margin: 18px auto 14px; }
.lumi-sign { font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--lumi-gold); }

/* Dark sections */
.dark .lumi-h2, .dark h1, .dark h2, .dark h4 { color: #FBF8F3; }
.dark .lumi-lead, .dark p { color: rgba(251, 248, 243, .75); }

/* Buttons: square, tracked */
.button, button, input[type="submit"], .button.alt { border-radius: 0 !important; letter-spacing: .14em; font-weight: 500; font-size: .82em; }
.button.is-link { padding-left: 0; padding-right: 0; border-bottom: 1px solid currentColor; border-radius: 0; }
.button.is-link:hover { color: var(--lumi-gold); }

/* Header */
.header-top { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.header-main { border-bottom: 1px solid var(--lumi-line); }
.header-nav-main > li > a { letter-spacing: .14em; font-size: 12.5px; }
.header-nav-main > li > a:hover, .header-nav-main > li.active > a { color: var(--lumi-gold); }

/* Hero */
.lumi-hero .col { padding-bottom: 0; }
.lumi-bento .col-inner { padding: 5px; }
.lumi-bento .img { margin-bottom: 0 !important; }
.lumi-bento .lumi-bento-bottom { margin-top: 10px; }
.lumi-bento .img-inner { background: #fff; }

/* Product boxes: no chrome, centered serif titles */
.product-small .box-text { padding-top: 14px; }
.product-small .product-title, .product-small .name { font-family: "Cormorant Garamond", serif; font-size: 19px; line-height: 1.25; color: var(--lumi-ink); }
.product-small .price, .product-small .amount { font-size: 14px; color: var(--lumi-muted); font-weight: 400; letter-spacing: .04em; }
.product-small .box-image { background: var(--lumi-surface); }
.badge-container .badge-inner { background: var(--lumi-gold); border-radius: 0; }

/* Category tiles */
.lumi-cats .box-text h5, .product-category .box-text h5 { font-family: "Cormorant Garamond", serif; text-transform: none; letter-spacing: 0; font-size: 22px; font-weight: 500; color: var(--lumi-ink); }
.product-category .count { display: none; }

/* Single product */
.product-info .product-title { font-size: clamp(30px, 3vw, 42px); font-weight: 500; }
.product-info .price { color: var(--lumi-ink); font-size: 20px; }
.single_add_to_cart_button { background: var(--lumi-ink) !important; padding: 0 2.6em !important; }
.single_add_to_cart_button:hover { background: var(--lumi-gold) !important; }
.variations select { border-radius: 0; border-color: var(--lumi-line); }
.product-section { border-top: 1px solid var(--lumi-line); }

/* Shop / category header */
.shop-page-title.featured-title .title-overlay { background-color: var(--lumi-surface) !important; }
.shop-page-title.featured-title, .shop-page-title.featured-title a, .shop-page-title.featured-title .breadcrumbs, .shop-page-title.featured-title h1 { color: var(--lumi-ink) !important; }
.shop-page-title.featured-title h1 { font-size: clamp(32px, 3.4vw, 46px); text-transform: none; letter-spacing: 0; }
.shop-page-title.featured-title select, .woocommerce-ordering select { background-color: transparent !important; color: var(--lumi-ink) !important; border: 1px solid var(--lumi-line) !important; border-radius: 0 !important; box-shadow: none !important; }
.breadcrumbs { letter-spacing: .12em; }
.shop-page-title.featured-title * { text-shadow: none !important; }
@media (max-width: 48em) { .col[class*="large-4"] .button.is-link { margin-top: -10px; } }

/* Swatches */
.ux-swatch { border-radius: 0; }
.ux-swatch--label { min-width: 34px; font-size: 13px; border-color: var(--lumi-line); }
.ux-swatch.selected { box-shadow: 0 0 0 2px var(--lumi-gold) !important; }
.ux-swatch.ux-swatch--color { border-radius: 50% !important; }

/* Promises row */
.lumi-promises h4 { font-family: "Cormorant Garamond", serif; font-size: 22px; font-weight: 500; margin-bottom: 4px; }
.lumi-promises p { font-size: 14px; color: var(--lumi-muted); margin-bottom: 0; }
.lumi-promises .col { border-color: var(--lumi-line) !important; }

/* Footer */
.lumi-footer h4 { font-family: "Jost", sans-serif; font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--lumi-gold) !important; margin-bottom: 18px; }
.lumi-links { list-style: none; margin: 0; }
.lumi-links { padding: 0; }
.lumi-links li { margin: 0 0 10px !important; padding: 0; list-style: none; font-size: 14px; color: rgba(251, 248, 243, .75); }
.lumi-links a { color: rgba(251, 248, 243, .82); }
.lumi-links a:hover { color: var(--lumi-gold); }
.lumi-footer-note { font-size: 14px; max-width: 24em; margin-top: 18px; }
.absolute-footer { font-size: 12px; letter-spacing: .06em; }

/* Forms */
input[type="text"], input[type="email"], input[type="tel"], input[type="search"], input[type="password"], textarea, select { border-radius: 0; border-color: var(--lumi-line); box-shadow: none; }

@media only screen and (max-width: 48em) {
  .lumi-lead { font-size: 16px; }
  .header-top { font-size: 10.5px; }
  .lumi-promises .col { border: 0 !important; padding-bottom: 24px; }
  .lumi-hero .button { margin-bottom: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}
/* ===== LUMI v2: section heads, categories, mobile ===== */
/* Section head: title + link on one line */
.lumi-sec-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 28px; border-bottom: 1px solid var(--lumi-line); padding-bottom: 14px; }
.lumi-sec-head .lumi-h2 { margin: 0; }
.lumi-sec-head--center { justify-content: center; text-align: center; border: 0; padding: 0; }
.lumi-more { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--lumi-ink); white-space: nowrap; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.lumi-more:hover { color: var(--lumi-gold); }

/* Hero image fits the first viewport on desktop */
@media (min-width: 850px) { .lumi-hero { padding-top: 34px !important; padding-bottom: 34px !important; } }

/* Hero CTAs */
.lumi-ctas { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 22px; }
.lumi-ctas .button { margin: 0; }

/* Category circles */
.lumi-cats .box-image { border-radius: 50%; overflow: hidden; background: #fff; border: 1px solid var(--lumi-line); }
.lumi-cats .box-text { padding-top: 12px; }
.lumi-cats .box-text h5 { font-size: 20px !important; }

/* Product cards */
.lumi-products .box-text { padding: 12px 2px 6px; }
.lumi-products .product-title { font-size: 18px; }
.lumi-products .flickity-prev-next-button { width: 40px; height: 40px; background: var(--lumi-bg); border: 1px solid var(--lumi-line); border-radius: 50%; }

@media only screen and (max-width: 48em) {
  /* Global mobile rhythm */
  .lumi-h2 { font-size: 30px; }
  .lumi-display { font-size: 40px; margin-bottom: 12px; }
  .lumi-lead { font-size: 15px; line-height: 1.65; margin-bottom: 20px; }
  .lumi-kicker { font-size: 11px; margin-bottom: 8px; }
  .row { --lumi-gutter: 16px; }

  /* Header */
  .header-main .logo img { max-height: 44px !important; width: auto !important; }
  .header-main .nav > li > a { padding: 0 6px; }

  /* Hero: image first, text below */
  .lumi-hero .row { flex-direction: column-reverse; }
  .lumi-hero-media { padding: 0 !important; }
  .lumi-hero-media .img { margin: 0 !important; }
  .lumi-hero-text { text-align: left; }
  .lumi-ctas { flex-direction: column; align-items: stretch; gap: 14px; }
  .lumi-btn-main, .lumi-ctas .lumi-btn-main { width: 100%; text-align: center; display: block; }
  .lumi-btn-link { align-self: center; }

  /* Section head */
  .lumi-sec-head { margin-bottom: 18px; padding-bottom: 10px; }
  .lumi-more { font-size: 11px; }

  /* Category circles: 3 per row grid */
  .lumi-cats { flex-wrap: wrap !important; overflow: visible; }
  .lumi-cats .col { flex: 0 0 33.333% !important; max-width: 33.333% !important; padding: 0 8px 18px !important; }
  .lumi-cats .box-text { padding-top: 8px; }
  .lumi-cats .box-text h5 { font-size: 16px !important; line-height: 1.2; }

  /* Product sliders: peek next card, swipe, no arrows */
  .lumi-peek .flickity-prev-next-button { display: none !important; }
  .lumi-peek .product-small.col { width: 44% !important; }
  .lumi-peek .flickity-viewport { overflow: visible; }
  .lumi-peek { overflow: hidden; }
  .lumi-products .product-title { font-size: 16px; }
  .lumi-products .price { font-size: 13px; }

  /* Heart + Personalized */
  .lumi-pad-sm { padding: 0 22px; }
  .lumi-heart .button { width: calc(100% - 0px); margin-top: 8px; }
  .lumi-personal .row { flex-direction: column-reverse; }
  .lumi-personal .lumi-btn-main { width: 100%; text-align: center; }

  /* Quote + promises */
  .lumi-quote { font-size: 26px; }
  .lumi-promises .col { padding: 0 8px 22px !important; }
  .lumi-promises h4 { font-size: 19px; }
  .lumi-promises p { font-size: 13px; }

  /* Off-canvas mobile menu */
  .mobile-sidebar .nav-sidebar > li > a { font-family: "Cormorant Garamond", serif; font-size: 22px; text-transform: none; letter-spacing: 0; color: var(--lumi-ink); padding: 14px 20px; }
  .mobile-sidebar .nav-sidebar li { border-color: var(--lumi-line) !important; }
  .mobile-sidebar .children a, .mobile-sidebar .sub-menu a { font-size: 15px; letter-spacing: .04em; }

  /* Footer */
  .lumi-footer .col { padding-bottom: 20px; }
  .lumi-footer .img { max-width: 170px; }

  /* Product page */
  .product-info { padding-top: 18px; }
  .product-info .product-title { font-size: 30px; }
  .single_add_to_cart_button { flex: 1; }
  form.cart .quantity + .single_add_to_cart_button { width: auto; }
}
/* Product description: Arabic block */
.lumi-ar { direction: rtl; text-align: right; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--lumi-line); font-size: 15px; }
.lumi-ar ul { margin-right: 1.2em; margin-left: 0; }

/* Add to cart row */
.woocommerce-variation-add-to-cart, form.cart:not(.variations_form) { display: flex; align-items: stretch; gap: 10px; }
.woocommerce-variation-add-to-cart .single_add_to_cart_button, form.cart:not(.variations_form) .single_add_to_cart_button { flex: 1; margin: 0 !important; }
.woocommerce-variation-add-to-cart .quantity, form.cart .quantity { margin: 0 !important; }

/* Personalized name field */
.lumi-name-field { width: 100%; margin: 4px 0 16px; }
.lumi-name-field label { font-size: 13px; font-weight: 500; letter-spacing: .04em; }
.lumi-name-field input { width: 100%; height: 46px; font-size: 16px; }

/* lumi-cats-center: center an incomplete last row of category circles */
.lumi-cats { justify-content: center; }

/* ========== Hero lifestyle duo (v3.1.7) ========== */
.lumi-duo{position:relative;display:grid;align-items:start;grid-template-columns:1fr 1fr;gap:20px;max-width:min(680px, calc((100vh - 230px) * 1.35));margin:0 auto;padding:0 0 0 18px}
.lumi-duo::before{content:"";position:absolute;left:0;top:-18px;width:calc(50% - 10px);height:calc(100% - 40px);border:1px solid rgba(181,129,58,.55);pointer-events:none;z-index:0}
.lumi-duo-item{display:block;overflow:hidden;position:relative;z-index:1;background:#E6DBCC}
.lumi-duo-item img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 50%;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.lumi-duo-item:hover img{transform:scale(1.04)}
.lumi-duo-b{margin-top:64px}
.lumi-duo-tag{position:absolute;left:18px;bottom:16px;z-index:1;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:21px;letter-spacing:.02em;color:#2E241B}
.lumi-duo-tag::before{content:"";display:inline-block;width:28px;height:1px;background:#B5813A;vertical-align:middle;margin-right:10px}
@media (max-width: 849px){.lumi-duo{gap:10px;padding:26px 16px 6px;max-width:none}.lumi-duo::before{left:8px;top:16px;width:calc(50% - 9px);height:calc(100% - 64px)}.lumi-duo-b{margin-top:44px}.lumi-duo-tag{left:16px;bottom:10px;font-size:17px}.lumi-duo-tag::before{width:20px;margin-right:8px}}

/* ========== Currency switcher (v3.2.0) ========== */
.lumi-cur{position:relative;display:inline-block}
.lumi-cur-btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.14em;font-weight:500;color:#2E241B;padding:6px 2px;line-height:1}
.lumi-cur-caret{width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.lumi-cur.open .lumi-cur-caret{transform:rotate(-135deg) translateY(-1px)}
.lumi-cur-list{display:none;position:absolute;right:-10px;top:calc(100% + 10px);z-index:999;min-width:210px;margin:0;padding:6px 0;list-style:none;background:#FBF8F3;border:1px solid #E6DBCC;box-shadow:0 14px 34px rgba(46,36,27,.12);max-height:70vh;overflow:auto}
.lumi-cur.open .lumi-cur-list{display:block}
.lumi-cur-list li{margin:0;list-style:none}
.lumi-cur-list a{display:flex;align-items:baseline;gap:12px;padding:9px 16px;color:#4A3E33;font-size:13px;text-transform:none;letter-spacing:0;white-space:nowrap}
.lumi-cur-list a b{font-weight:500;letter-spacing:.1em;font-size:12px;color:#2E241B;min-width:34px}
.lumi-cur-list a span{color:#8a7a6a}
.lumi-cur-list a:hover,.lumi-cur-list a.active{background:#F3ECE2}
.lumi-cur-list a.active b{color:#B5813A}
@media (max-width:849px){.lumi-cur-btn{font-size:11px;letter-spacing:.08em;gap:4px}.lumi-cur-list{right:-60px}}

/* ========== Side currency widget (v3.2.1) ========== */
.lumi-cur-side{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:998}
.lumi-cur-side .lumi-cur{display:block}
.lumi-cur-side .lumi-cur-btn{display:flex;flex-direction:column;align-items:center;gap:6px;width:46px;padding:14px 0 12px;background:#2E241B;color:#FBF8F3;font-size:11px;letter-spacing:.14em;box-shadow:0 6px 18px rgba(46,36,27,.18)}
.lumi-cur-side .lumi-cur-caret{order:-1;width:6px;height:6px;border:0;border-left:1px solid #B5813A;border-bottom:1px solid #B5813A;transform:rotate(45deg);margin-left:3px}
.lumi-cur-side .lumi-cur.open .lumi-cur-caret{transform:rotate(-135deg);margin:0 3px 0 0}
.lumi-cur-side .lumi-cur-list{display:block;position:absolute;right:100%;top:50%;left:auto;min-width:220px;max-height:80vh;margin:0;padding:6px 0;background:#FBF8F3;border:1px solid #E6DBCC;border-right:0;box-shadow:-10px 10px 30px rgba(46,36,27,.14);opacity:0;visibility:hidden;transform:translate(8px,-50%);transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s}
.lumi-cur-side .lumi-cur.open .lumi-cur-list{opacity:1;visibility:visible;transform:translate(0,-50%);transition-delay:0s}
@media (hover:hover) and (pointer:fine){.lumi-cur-side .lumi-cur:hover .lumi-cur-list{opacity:1;visibility:visible;transform:translate(0,-50%);transition-delay:0s}.lumi-cur-side .lumi-cur:hover .lumi-cur-btn{background:#B5813A}}
.lumi-cur-side .lumi-cur-list a{padding:9px 18px}
@media (max-width:849px){.lumi-cur-side{top:auto;bottom:90px;transform:none}.lumi-cur-side .lumi-cur-btn{width:40px;padding:11px 0 9px;font-size:10px}.lumi-cur-side .lumi-cur-list{top:auto;bottom:0;transform:translate(8px,0);min-width:200px;max-height:70vh}.lumi-cur-side .lumi-cur.open .lumi-cur-list{transform:translate(0,0)}}
