/* Karuvia Child overrides.
 * This file is the canonical copy of the CSS currently live on staging
 * (Appearance → Customize → Additional CSS). It brands Dokan's vendor
 * directory/storefront and the WooCommerce product detail page to the
 * prototype spec, and makes shortcode pages full-width + responsive.
 *
 * After deploying this theme, clear Additional CSS so the rules are not
 * applied twice.
 */
/* ============================================================================
   Karuvia — Dokan brand skin
   Dokan ships its own purple/grey UI. These rules bring the vendor directory,
   storefront and dashboard onto the Karuvia design system, matching the
   prototype's Vendors.dc.html / VendorStorefront.dc.html specs:
   card = #FFF, 1px #D9CBB8, 20px radius; banner 16/7 on #F1ECE4;
   headings Cormorant Garamond; primary = forest green, accent = champagne gold.
   ========================================================================= */

/* ---------- directory shell ---------- */
.dokan-seller-listing { max-width: 1400px; margin-inline: auto; }
.dokan-seller-listing .dokan-clearfix::after { content: none; }

/* search / filter bar */
.dokan-store-list-filter-button,
.dokan-seller-listing .dokan-btn,
.dokan-seller-listing .dokan-btn-theme,
.dokan-store-wrap .dokan-btn-theme {
  background: #153F35 !important;
  border-color: #153F35 !important;
  color: #fff !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-family: Manrope, system-ui, sans-serif !important;
  font-weight: 600;
  letter-spacing: .02em;
  padding: 11px 22px !important;
}
.dokan-seller-listing .dokan-btn:hover,
.dokan-store-list-filter-button:hover { background: #1B4C40 !important; border-color: #1B4C40 !important; }

.store-search, .dokan-store-list-filter-area, .seller-listing-content > form {
  background: #fff !important;
  border: 1px solid #D9CBB8 !important;
  border-radius: 20px !important;
  box-shadow: none !important;
}
.store-search-input, .dokan-store-list-filter-area input[type="text"] {
  border: 1px solid #D9CBB8 !important;
  border-radius: 999px !important;
  padding: 12px 18px !important;
  font-family: Manrope, system-ui, sans-serif !important;
  font-size: 14px !important;
  background: #F8F5F0 !important;
  box-shadow: none !important;
}
.store-count { font-size: 13px; color: #716A5D; font-family: Manrope, system-ui, sans-serif; }

/* ---------- vendor cards (prototype: 20px radius, stone border) ---------- */
.dokan-seller-wrap { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%,330px),1fr)); gap: clamp(16px,2vw,24px); }
.dokan-single-seller { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; }

.store-wrapper {
  background: #FFFFFF !important;
  border: 1px solid #D9CBB8 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: none !important;
  display: flex; flex-direction: column;
  transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
  height: 100%;
}
.store-wrapper:hover {
  border-color: #A88B5C !important;
  transform: translateY(-2px);
  box-shadow: 0 20px 50px -20px rgba(21,63,53,.35) !important;
}

/* banner — prototype uses 16/7 on soft sand */
.store-wrapper .store-header, .store-wrapper .store-banner {
  aspect-ratio: 16 / 7; height: auto !important; min-height: 0 !important;
  background: #F1ECE4 !important; position: relative; overflow: hidden;
}
.store-wrapper .store-banner img { width: 100%; height: 100%; object-fit: cover; }

/* the round avatar Dokan floats over the banner */
.store-wrapper .seller-avatar, .store-wrapper .store-avatar {
  border: 3px solid #fff !important;
  box-shadow: 0 8px 22px -10px rgba(21,63,53,.45) !important;
  border-radius: 999px !important;
  overflow: hidden;
}

/* body */
.store-wrapper .store-content, .store-wrapper .store-data-container {
  padding: 22px 22px 24px !important;
  display: flex; flex-direction: column; gap: 10px; flex: 1;
  background: #fff !important;
}
.store-wrapper .store-data h2,
.store-wrapper .store-data h3,
.store-wrapper h2 a, .store-wrapper h3 a {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 25px !important;
  line-height: 1.15 !important;
  color: #153F35 !important;
  font-weight: 400 !important;
  margin: 0 !important;
  text-shadow: none !important;
}
.store-wrapper .store-data p,
.store-wrapper .store-address,
.store-wrapper .store-phone,
.store-wrapper .store-data li {
  font-family: Manrope, system-ui, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  color: #625F58 !important;
  text-shadow: none !important;
  margin: 0 !important;
}
.store-wrapper .store-data i, .store-wrapper .dokan-icons { color: #A88B5C !important; }

/* rating stars → champagne gold */
.store-wrapper .seller-rating .star-rating span::before,
.store-wrapper .star-rating span::before,
.dokan-store-wrap .star-rating span::before { color: #A88B5C !important; }

/* footer / "Visit store" */
.store-wrapper .store-footer {
  background: #fff !important;
  border-top: 1px solid #D9CBB8 !important;
  padding: 14px 22px !important;
}
.store-wrapper .store-footer a,
.dokan-btn-round {
  background: #153F35 !important;
  border-color: #153F35 !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-family: Manrope, system-ui, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  letter-spacing: .02em;
}
.store-wrapper .store-footer a:hover, .dokan-btn-round:hover { background: #1B4C40 !important; }

/* kill Dokan's grey overlay on the banner */
.store-wrapper .store-header::after, .store-wrapper .store-banner::after { display: none !important; }
.store-wrapper .store-data-container { color: #625F58 !important; }

/* ---------- single storefront ---------- */
.dokan-store-wrap .profile-frame,
.dokan-single-store .profile-frame {
  border: 1px solid #D9CBB8 !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: none !important;
}
.dokan-single-store .profile-info-box .profile-info-summery-wrapper {
  background: #F1ECE4 !important;
  border-radius: 20px 20px 0 0 !important;
}
.dokan-single-store .profile-info-summery-wrapper .profile-info-img img { border-radius: 999px !important; border: 3px solid #fff !important; }
.dokan-single-store .store-info h3,
.dokan-single-store .profile-info-summery-wrapper .profile-info h3 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  color: #153F35 !important; font-weight: 400 !important;
}
.dokan-store-tabs ul li a {
  font-family: Manrope, system-ui, sans-serif !important;
  color: #625F58 !important; font-size: 13.5px !important;
}
.dokan-store-tabs ul li.active a, .dokan-store-tabs ul li a:hover {
  color: #153F35 !important; border-bottom: 2px solid #A88B5C !important;
}

/* ---------- vendor dashboard ---------- */
.dokan-dashboard .dokan-dash-sidebar { background: #153F35 !important; border-radius: 20px; overflow: hidden; }
.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li a { color: #F1ECE4 !important; font-family: Manrope, system-ui, sans-serif !important; }
.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li.active,
.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li:hover { background: #1B4C40 !important; }
.dokan-dashboard .dokan-dash-sidebar ul.dokan-dashboard-menu li.active a { color: #fff !important; }
.dokan-dashboard-content { border-radius: 20px; border: 1px solid #D9CBB8; background: #fff; }
.dokan-dashboard-content h1, .dokan-dashboard-content h2 { font-family: "Cormorant Garamond", Georgia, serif !important; color: #153F35 !important; font-weight: 400 !important; }

/* ---------- generic Dokan buttons everywhere ---------- */
.dokan-btn-default { border-radius: 999px !important; border-color: #D9CBB8 !important; color: #153F35 !important; background: #fff !important; }
.dokan-btn-success, .dokan-btn-primary { background: #153F35 !important; border-color: #153F35 !important; border-radius: 999px !important; }
.dokan-alert, .dokan-info { border-radius: 12px !important; background: #F1ECE4 !important; border-color: #D9CBB8 !important; color: #625F58 !important; }

/* ===== Karuvia — full-width pages, shortcode grids, Dokan polish, responsive ===== */
.page-article--wide,.page-template-template-full-width .page-article{max-width:1400px;margin-inline:auto;padding-inline:clamp(16px,3vw,40px)}
.page-article:has(ul.products),.page-article:has(.dokan-seller-listing),.page-article:has(.dokan-store-wrap){max-width:1400px}
.entry-content ul.products,.woocommerce .entry-content ul.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:16px;margin:0;padding:0;list-style:none}
.entry-content ul.products li.product,.entry-content ul.products[class*="columns-"] li.product{width:auto!important;float:none!important;clear:none!important;margin:0!important;padding:0!important;max-width:none!important;display:flex;flex-direction:column}
.entry-content ul.products li.product .product-card__media{aspect-ratio:4/5}
.entry-content ul.products li.product img{width:100%;height:100%;object-fit:cover}
.store-wrapper .store-header img,.store-wrapper .store-banner img,.store-wrapper .store-header a img{width:100%!important;height:100%!important;object-fit:cover!important;display:block;position:absolute;inset:0}
.store-wrapper .store-header{display:block}
.store-wrapper .store-data-container{position:relative;z-index:2}
.store-wrapper .featured-favourite,.featured-favourite{background:#A88B5C!important;color:#fff!important;border-radius:999px!important;font-family:Manrope,system-ui,sans-serif!important;font-size:10px!important;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px!important;box-shadow:none!important;z-index:3}
.store-wrapper .featured-favourite::before{content:none!important}
.store-wrapper .store-footer{display:flex;align-items:center;justify-content:flex-end}
.store-wrapper .store-footer a,.store-wrapper .store-footer .dokan-btn-round{display:inline-flex;align-items:center;gap:6px;padding:9px 18px!important;width:auto!important;height:auto!important;min-width:0!important;line-height:1.2!important}
.dokan-store-list-filter-area,.store-search{padding:14px 18px!important}
.dokan-seller-listing select{border:1px solid #D9CBB8!important;border-radius:999px!important;padding:9px 16px!important;font-family:Manrope,system-ui,sans-serif!important;background:#fff!important}
@media(max-width:1024px){.dokan-seller-wrap{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}.entry-content ul.products{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}}
@media(max-width:768px){.page-article--wide,.page-article{padding-inline:clamp(16px,4vw,24px)}.dokan-seller-wrap{grid-template-columns:1fr 1fr;gap:14px}.entry-content ul.products,.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:1fr 1fr!important;gap:12px}.store-wrapper .store-data h2,.store-wrapper .store-data h3,.store-wrapper h3 a{font-size:20px!important}}
@media(max-width:520px){.dokan-seller-wrap{grid-template-columns:1fr}.entry-content ul.products,.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:1fr!important}.store-wrapper .store-header,.store-wrapper .store-banner{aspect-ratio:16/9}}
html,body{overflow-x:hidden}
.wrap,.site-main,.entry-content{min-width:0}


/* ===== Karuvia v2 — corrected vendor cards + PDP ===== */
.store-wrapper .store-header{aspect-ratio:16/7;height:auto!important;min-height:0!important;background:#F1ECE4!important;position:relative;overflow:hidden;display:block}
.store-wrapper .store-banner{position:absolute;inset:0;height:100%!important;width:100%;margin:0!important;background:#F1ECE4!important}
.store-wrapper .store-banner a{display:block;width:100%;height:100%}
.store-wrapper .store-banner img{width:100%!important;height:100%!important;object-fit:cover!important;display:block;border-radius:0!important;position:static!important}
.store-wrapper .store-content{padding:0!important;background:#fff!important;flex:1;display:flex;flex-direction:column}
.store-wrapper .store-data-container{position:relative;padding:20px 22px 18px!important;background:#fff!important;color:#625F58!important;display:flex;flex-direction:column;gap:8px}
.store-wrapper .featured-favourite{position:absolute;top:-34px;left:18px;margin:0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;z-index:3}
.store-wrapper .featured-favourite .featured-label{background:#A88B5C!important;color:#fff!important;border-radius:999px!important;font-family:Manrope,system-ui,sans-serif!important;font-size:9px!important;font-weight:600;letter-spacing:.13em;text-transform:uppercase;padding:5px 11px!important;display:inline-block;box-shadow:0 6px 18px -8px rgba(21,63,53,.5)}
.store-wrapper .store-data{display:flex;flex-direction:column;gap:6px}
.store-wrapper .store-data h2{margin:0!important;line-height:1.12!important}
.store-wrapper .store-data h2 a{font-family:"Cormorant Garamond",Georgia,serif!important;font-size:24px!important;color:#153F35!important;font-weight:400!important;text-shadow:none!important}
.store-wrapper .store-data h2 a:hover{color:#7C6435!important}
.store-wrapper .store-address,.store-wrapper .store-phone{font-family:Manrope,system-ui,sans-serif!important;font-size:12.5px!important;line-height:1.6!important;color:#625F58!important;margin:0!important;text-shadow:none!important}
.store-wrapper .store-address br{display:none}
.store-wrapper .store-phone i{color:#A88B5C!important;margin-right:5px}
.store-wrapper .store-footer{background:#fff!important;border-top:1px solid #D9CBB8!important;padding:12px 22px!important;display:flex;align-items:center;gap:10px;justify-content:flex-start}
.store-wrapper .store-footer .seller-avatar{margin:0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;width:auto!important;height:auto!important}
.store-wrapper .store-footer .seller-avatar a,.store-wrapper .store-footer a:has(img){background:none!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;display:inline-block!important;width:auto!important;min-width:0!important}
.store-wrapper .store-footer .seller-avatar img{width:40px!important;height:40px!important;border-radius:999px!important;object-fit:cover;border:2px solid #fff;box-shadow:0 4px 12px -6px rgba(21,63,53,.5);display:block;position:static!important}
.store-wrapper .store-footer a:not(:has(img)){background:#153F35!important;color:#fff!important;border-radius:999px!important;padding:8px 16px!important;font-family:Manrope,system-ui,sans-serif!important;font-size:12px!important;font-weight:600!important;margin-left:auto}
.store-wrapper .store-footer a:not(:has(img)):hover{background:#1B4C40!important}
.single-product div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.single-product div.product .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0!important;display:grid;gap:12px}
.single-product .woocommerce-product-gallery__wrapper{margin:0!important}
.single-product .woocommerce-product-gallery__image:first-child{position:relative;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:#F1ECE4}
.single-product .woocommerce-product-gallery__image:first-child img{width:100%!important;height:100%!important;object-fit:cover!important}
.single-product .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0 0!important;padding:0!important;list-style:none}
.single-product .flex-control-thumbs li{width:auto!important;margin:0!important;float:none!important}
.single-product .flex-control-thumbs img{aspect-ratio:1;object-fit:cover;border-radius:14px;background:#F1ECE4;opacity:.75}
.single-product .flex-control-thumbs img.flex-active,.single-product .flex-control-thumbs img:hover{opacity:1}
.single-product div.product .summary.entry-summary{width:100%!important;float:none!important;margin:0!important;position:sticky;top:104px}
.single-product .summary .badge-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.single-product .summary .badge{font-size:9px!important;letter-spacing:.13em;padding:5px 10px!important;border-radius:999px!important}
.single-product .product_title{font-family:"Cormorant Garamond",Georgia,serif!important;font-weight:400!important;font-size:clamp(30px,3.8vw,48px)!important;line-height:1.08!important;color:#153F35!important;margin:12px 0 0!important;text-wrap:pretty}
.single-product .woocommerce-product-details__short-description{font-size:14.5px;color:#716A5D;margin:10px 0 0}
.single-product .summary p.price{position:relative;margin:26px 0 0!important;padding-top:26px;font-size:clamp(26px,3vw,34px)!important;color:#153F35!important;font-weight:500!important;letter-spacing:-.02em}
.single-product .summary p.price::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:#D9CBB8}
.single-product .summary p.price del{font-size:15px;color:#A8A196;font-weight:400}
.single-product .summary p.price ins{text-decoration:none}
.single-product .summary .vat-note{font-size:12.5px;color:#625F58;margin-top:6px}
.single-product .summary .stock{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-size:12.5px;color:#625F58}
.single-product .summary .stock::before{content:"";width:7px;height:7px;border-radius:999px;background:#153F35;display:inline-block}
.single-product .summary .stock.out-of-stock::before{background:#C46A4E}
.single-product form.cart{margin:22px 0 0!important;display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}
.single-product form.cart .quantity input{height:48px;border:1px solid #D9CBB8;border-radius:999px;padding:0 14px;font-family:Manrope,system-ui,sans-serif;background:#fff;width:88px;text-align:center}
.single-product form.cart .single_add_to_cart_button{flex:1;min-width:180px;height:48px;border-radius:999px!important}
.single-product .product_meta{margin-top:22px;font-size:12.5px;color:#716A5D;border-top:1px solid #D9CBB8;padding-top:16px}
.single-product .product_meta a{color:#7C6435}
.single-product .woocommerce-tabs{grid-column:1/-1;margin-top:clamp(28px,4vw,56px)}
.single-product .related.products,.single-product .upsells.products{grid-column:1/-1;margin-top:clamp(28px,4vw,56px)}
.single-product .related.products>h2,.single-product .upsells.products>h2{font-family:"Cormorant Garamond",Georgia,serif!important;font-size:clamp(24px,3vw,34px)!important;color:#153F35!important;font-weight:400!important;margin-bottom:18px}
@media(max-width:900px){.single-product div.product{grid-template-columns:1fr;gap:24px}.single-product div.product .summary.entry-summary{position:static}}
@media(max-width:520px){.single-product form.cart{flex-direction:column}.single-product form.cart .quantity input{width:100%}}

/* ===== Karuvia v3 — vendors page width + Dokan filter button ===== */
.page-article:has(.dokan-seller-wrap),.page-article:has(.seller-listing-content),.page-article:has(.dokan-store-wrap),.page-article:has(.dokan-seller-listing),.page-article:has(ul.products){max-width:1400px!important}
.page-article__body:has(.dokan-seller-wrap),.page-article__body:has(.seller-listing-content){max-width:none!important}
.dokan-single-seller{height:auto!important;display:block!important;width:auto!important;float:none!important;margin:0!important;padding:0!important}
.store-wrapper{height:100%}
.dokan-seller-listing input[type=submit],.dokan-seller-listing button[type=submit],.dokan-store-list-filter-area .dokan-btn,#dokan-store-listing-filter-wrap .dokan-btn,.dokan-store-list-filter-area input[type=submit]{background:#153F35!important;border-color:#153F35!important;color:#fff!important;border-radius:999px!important;font-family:Manrope,system-ui,sans-serif!important;font-weight:600!important;padding:10px 22px!important;box-shadow:none!important}
.dokan-seller-listing input[type=submit]:hover,.dokan-store-list-filter-area .dokan-btn:hover{background:#1B4C40!important}

/* ===== Karuvia v4 — banner visibility + filter button ===== */
/* Dokan absolutely positions .store-content ON TOP of the banner. Let it flow so the banner is visible. */
.store-wrapper{position:relative}
.store-wrapper .store-content{position:static!important;inset:auto!important;height:auto!important;width:auto!important;transform:none!important}
.store-wrapper .store-header{aspect-ratio:16/7;height:auto!important;flex:0 0 auto}
.store-wrapper .store-data-container{height:auto!important}
/* featured pill floats over the banner, anchored to the card */
.store-wrapper .featured-favourite{position:absolute!important;top:14px!important;left:16px!important;z-index:4}
/* Apply filter button */
#apply-filter-btn,button#apply-filter-btn,.apply-filter .dokan-btn,.apply-filter .dokan-btn-theme{background:#153F35!important;background-image:none!important;border-color:#153F35!important;color:#fff!important;border-radius:999px!important;font-family:Manrope,system-ui,sans-serif!important;font-weight:600!important;padding:10px 24px!important;box-shadow:none!important}
#apply-filter-btn:hover{background:#1B4C40!important}

/* ===== Karuvia v5 — featured pill anchor + visit-store arrow ===== */
.store-wrapper .store-data-container{position:static!important}
.store-wrapper .featured-favourite{position:absolute!important;top:14px!important;left:16px!important;z-index:4}
.store-wrapper .store-footer a:not(:has(img)){background:none!important;background-image:none!important;padding:0!important;margin-left:auto!important;border:0!important;box-shadow:none!important}
.store-wrapper .store-footer .dokan-btn-round,.store-wrapper .store-footer .dashicons{background:#153F35!important;color:#fff!important;border-radius:999px!important;width:36px!important;height:36px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:18px!important;line-height:1!important;padding:0!important;border:0!important}
.store-wrapper .store-footer a:not(:has(img)):hover .dokan-btn-round,.store-wrapper .store-footer a:not(:has(img)):hover .dashicons{background:#1B4C40!important}

