/*
Theme Name: Marrakech Gold
Theme URI: https://example.com/marrakech-gold
Author: Custom theme for Marrakech Home Collection
Description: Thème WordPress moderne blanc et or, optimisé pour les sites de location, WooCommerce et YITH Booking.
Version: 2.6.0
Text Domain: marrakech-gold
Requires at least: 6.4
Requires PHP: 8.0
License: GPL v2 or later
*/

:root{
  --mg-gold:#b9934a;
  --mg-gold-dark:#8e6d31;
  --mg-gold-soft:#ead9b6;
  --mg-ink:#1f1f1f;
  --mg-muted:#6f6f6f;
  --mg-bg:#ffffff;
  --mg-cream:#faf7f1;
  --mg-border:#e9e2d7;
  --mg-shadow:0 18px 50px rgba(35,25,10,.08);
  --mg-radius:22px;
  --mg-radius-sm:14px;
  --mg-container:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--mg-ink);
  background:var(--mg-bg);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--mg-gold-dark)}
button,input,select,textarea{font:inherit}

.mg-container{
  width:min(calc(100% - 40px), var(--mg-container));
  margin-inline:auto;
}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.93);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(185,147,74,.18);
}
.admin-bar .site-header{top:32px}
.mg-header-inner{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.site-branding{display:flex;align-items:center;gap:12px}
.custom-logo{max-height:54px;width:auto}
.site-title{
  font-family:Georgia, "Times New Roman", serif;
  font-weight:600;
  letter-spacing:.03em;
  font-size:1.3rem;
}
.site-title span{color:var(--mg-gold)}
.main-navigation ul{
  display:flex;
  gap:24px;
  align-items:center;
  list-style:none;
  margin:0;
  padding:0;
}
.main-navigation a{
  font-size:.95rem;
  font-weight:600;
  letter-spacing:.01em;
}
.main-navigation a:hover{color:var(--mg-gold)}
.mg-header-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  border-radius:999px;
  color:#fff!important;
  background:linear-gradient(135deg,var(--mg-gold),var(--mg-gold-dark));
  box-shadow:0 8px 24px rgba(185,147,74,.22);
}
.mg-mobile-toggle{
  display:none;
  width:44px;height:44px;
  border:1px solid var(--mg-border);
  border-radius:12px;
  background:#fff;
}

/* Hero */
.mg-hero{
  position:relative;
  min-height:72vh;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 20% 10%, rgba(185,147,74,.18), transparent 34%),
    linear-gradient(180deg,#fff,var(--mg-cream));
}
.mg-hero::after{
  content:"";
  position:absolute;
  inset:auto -12vw -22vh auto;
  width:48vw;height:48vw;
  border:1px solid rgba(185,147,74,.16);
  border-radius:50%;
}
.mg-hero-inner{
  position:relative;
  z-index:2;
  text-align:center;
  padding:110px 0 90px;
}
.mg-kicker{
  display:inline-flex;
  gap:8px;
  align-items:center;
  padding:8px 14px;
  border:1px solid var(--mg-gold-soft);
  border-radius:999px;
  color:var(--mg-gold-dark);
  background:#fff;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.mg-hero h1{
  margin:24px auto 18px;
  max-width:900px;
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(2.8rem,7vw,6.5rem);
  font-weight:500;
  line-height:.98;
  letter-spacing:-.035em;
}
.mg-hero h1 em{
  color:var(--mg-gold);
  font-style:normal;
}
.mg-hero p{
  max-width:720px;
  margin:0 auto 34px;
  color:var(--mg-muted);
  font-size:clamp(1rem,2vw,1.2rem);
}
.mg-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
}
.mg-btn,
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
  padding:0 22px!important;
  border:1px solid transparent!important;
  border-radius:999px!important;
  font-weight:800!important;
  cursor:pointer;
  transition:.2s ease;
}
.mg-btn-primary,
.wp-element-button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt{
  color:#fff!important;
  background:linear-gradient(135deg,var(--mg-gold),var(--mg-gold-dark))!important;
}
.mg-btn-primary:hover,
.wp-element-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(185,147,74,.22);
}
.mg-btn-secondary{
  background:#fff;
  border-color:var(--mg-border)!important;
}

/* Sections */
.mg-section{padding:90px 0}
.mg-section-alt{background:var(--mg-cream)}
.mg-section-head{
  max-width:720px;
  margin:0 auto 42px;
  text-align:center;
}
.mg-section-head h2,
.entry-title,
.woocommerce div.product .product_title{
  font-family:Georgia, "Times New Roman", serif;
  font-weight:500;
  letter-spacing:-.025em;
}
.mg-section-head h2{
  margin:8px 0 12px;
  font-size:clamp(2rem,4vw,3.6rem);
}
.mg-section-head p{color:var(--mg-muted)}

/* Property cards */
.mg-properties{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
}
.mg-property-card{
  overflow:hidden;
  border:1px solid var(--mg-border);
  border-radius:var(--mg-radius);
  background:#fff;
  box-shadow:var(--mg-shadow);
}
.mg-property-media{
  aspect-ratio:16/10;
  background:linear-gradient(135deg,#eee7db,#f7f3ec);
  overflow:hidden;
}
.mg-property-media img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s ease;
}
.mg-property-card:hover img{transform:scale(1.035)}
.mg-property-body{padding:26px}
.mg-property-body h3{
  margin:0 0 6px;
  font-family:Georgia, "Times New Roman", serif;
  font-size:1.8rem;
  font-weight:500;
}
.mg-property-meta{
  color:var(--mg-muted);
  font-size:.94rem;
  margin-bottom:18px;
}
.mg-property-link{
  color:var(--mg-gold-dark);
  font-weight:800;
}

/* Features */
.mg-features{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.mg-feature{
  padding:28px;
  border:1px solid var(--mg-border);
  border-radius:var(--mg-radius-sm);
  background:#fff;
}
.mg-feature .icon{
  width:44px;height:44px;
  display:grid;place-items:center;
  border-radius:12px;
  background:var(--mg-cream);
  color:var(--mg-gold-dark);
  font-size:1.25rem;
  margin-bottom:16px;
}
.mg-feature h3{margin:0 0 8px}
.mg-feature p{margin:0;color:var(--mg-muted)}

/* Content */
.site-main{min-height:50vh}
.content-area{padding:64px 0}
.entry-content{font-size:1rem}
.entry-content > *{max-width:860px;margin-left:auto;margin-right:auto}
.entry-content > .alignwide{max-width:1180px}
.entry-content > .alignfull{max-width:none}

/* Forms */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="date"],
input[type="password"],
select,
textarea{
  width:100%;
  border:1px solid var(--mg-border);
  border-radius:12px;
  background:#fff;
  padding:13px 14px;
  color:var(--mg-ink);
  outline:none;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--mg-gold);
  box-shadow:0 0 0 3px rgba(185,147,74,.12);
}

/* WooCommerce */
.woocommerce .woocommerce-breadcrumb{
  color:var(--mg-muted);
  font-size:.9rem;
}
.woocommerce span.onsale{
  background:var(--mg-gold)!important;
  color:#fff!important;
  min-width:54px!important;
  min-height:54px!important;
  line-height:54px!important;
}
.woocommerce ul.products{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{
  width:auto!important;
  margin:0!important;
  border:1px solid var(--mg-border);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  padding:0 0 20px!important;
  box-shadow:0 12px 38px rgba(35,25,10,.05);
}
.woocommerce ul.products li.product img{
  margin:0 0 18px!important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button{
  margin-left:18px!important;
  margin-right:18px!important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:Georgia,serif;
  font-size:1.25rem!important;
}
.woocommerce div.product{
  padding-top:38px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color:var(--mg-gold-dark)!important;
  font-weight:800;
}
.woocommerce div.product form.cart{
  padding:20px;
  border:1px solid var(--mg-border);
  border-radius:16px;
  background:var(--mg-cream);
}
.woocommerce table.shop_table{
  border-color:var(--mg-border)!important;
  border-radius:16px!important;
  overflow:hidden;
}
.woocommerce-checkout #payment{
  background:var(--mg-cream)!important;
  border-radius:16px!important;
}
.woocommerce-info,.woocommerce-message,.woocommerce-error{
  border-top-color:var(--mg-gold)!important;
  background:#fff!important;
  border-radius:12px;
  box-shadow:0 8px 26px rgba(0,0,0,.04);
}
.woocommerce-info::before,.woocommerce-message::before{color:var(--mg-gold)!important}

/* YITH Booking compatibility / styling */
.yith-wcbk-booking-form,
.yith-wcbk-booking-form-wrapper,
.yith-wcbk-booking-product-form,
.yith-wcbk-booking-form-container{
  border:1px solid var(--mg-border)!important;
  border-radius:18px!important;
  background:#fff!important;
  padding:22px!important;
  box-shadow:0 14px 40px rgba(35,25,10,.06);
}
.yith-wcbk-booking-form label,
.yith-wcbk-form-section label{
  font-weight:700!important;
  color:var(--mg-ink)!important;
}
.yith-wcbk-booking-form input,
.yith-wcbk-booking-form select,
.yith-wcbk-booking-form textarea{
  border:1px solid var(--mg-border)!important;
  border-radius:12px!important;
  min-height:46px;
  background:#fff!important;
}
.yith-wcbk-booking-form input:focus,
.yith-wcbk-booking-form select:focus{
  border-color:var(--mg-gold)!important;
  box-shadow:0 0 0 3px rgba(185,147,74,.12)!important;
}
.yith-wcbk-booking-form .button,
.yith-wcbk-add-to-cart-button,
.yith-wcbk-booking-form button{
  border-radius:999px!important;
  background:linear-gradient(135deg,var(--mg-gold),var(--mg-gold-dark))!important;
  color:#fff!important;
  border:0!important;
  font-weight:800!important;
  min-height:48px!important;
  padding:0 22px!important;
}
.yith-wcbk-booking-form-message,
.yith-wcbk-booking-form-error{
  border-radius:12px!important;
}
.ui-datepicker,
.yith-wcbk-datepicker{
  border:1px solid var(--mg-border)!important;
  border-radius:14px!important;
  box-shadow:var(--mg-shadow)!important;
}
.ui-datepicker .ui-datepicker-header{
  background:var(--mg-cream)!important;
  border:0!important;
}
.ui-datepicker td a.ui-state-active,
.ui-datepicker td a.ui-state-highlight{
  background:var(--mg-gold)!important;
  color:#fff!important;
  border-color:var(--mg-gold)!important;
}

/* Footer */
.site-footer{
  margin-top:70px;
  background:#171717;
  color:#f7f4ef;
}
.mg-footer-inner{
  padding:58px 0;
  display:grid;
  grid-template-columns:1.3fr .7fr .7fr;
  gap:40px;
}
.site-footer h3{
  font-family:Georgia,serif;
  margin-top:0;
  font-weight:500;
}
.site-footer p,.site-footer a{color:#c7c2ba}
.site-footer a:hover{color:#fff}
.mg-footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);
  padding:20px 0;
  color:#a9a49d;
  font-size:.88rem;
}

/* Responsive */
@media (max-width: 900px){
  .main-navigation{display:none}
  .main-navigation.is-open{
    display:block;
    position:absolute;
    top:78px;
    left:20px;right:20px;
    padding:18px;
    background:#fff;
    border:1px solid var(--mg-border);
    border-radius:16px;
    box-shadow:var(--mg-shadow);
  }
  .main-navigation.is-open ul{flex-direction:column;align-items:stretch}
  .mg-mobile-toggle{display:grid;place-items:center}
  .mg-header-cta{display:none}
  .mg-properties,.mg-features,.mg-footer-inner{
    grid-template-columns:1fr;
  }
  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 560px){
  .mg-container{width:min(calc(100% - 28px),var(--mg-container))}
  .mg-hero-inner{padding:84px 0 70px}
  .mg-section{padding:64px 0}
  .woocommerce ul.products{grid-template-columns:1fr}
  .admin-bar .site-header{top:46px}
}


/* =========================================================
   Marrakech Gold 1.1 — refinements based on real site review
   ========================================================= */

/* Brand / navigation */
.site-title{
  font-size:1.2rem;
  letter-spacing:.015em;
  white-space:nowrap;
}
.main-navigation ul{gap:28px}
.main-navigation a{position:relative;padding:28px 0}
.main-navigation a::after{
  content:"";
  position:absolute;
  left:0;right:100%;bottom:20px;
  height:1px;
  background:var(--mg-gold);
  transition:right .2s ease;
}
.main-navigation a:hover::after{right:0}
.mg-fallback-menu,.mg-footer-menu{list-style:none;margin:0;padding:0}
.mg-footer-menu li+li{margin-top:9px}

/* Homepage rhythm */
.mg-hero{min-height:64vh}
.mg-hero-inner{padding:92px 0 84px}
.mg-stays-section{padding-top:82px;padding-bottom:86px}
.mg-section-head{margin-bottom:38px}

/* Product cards: fix natural-image sizing and single-product whitespace */
.mg-properties{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
}
.mg-properties.is-single{
  grid-template-columns:minmax(0,760px);
  justify-content:center;
}
.mg-property-card{height:100%}
.mg-property-media{
  display:block;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  background:linear-gradient(135deg,#eee7db,#f7f3ec);
}
.mg-property-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.mg-property-body{padding:28px 30px 30px}
.mg-property-eyebrow{
  margin-bottom:7px;
  color:var(--mg-gold-dark);
  font-size:.72rem;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.mg-property-body h3{font-size:2rem;margin-bottom:10px}
.mg-property-excerpt{margin:0 0 22px;color:var(--mg-muted);line-height:1.7}
.mg-property-footer{
  display:flex;
  gap:18px;
  justify-content:space-between;
  align-items:center;
  padding-top:18px;
  border-top:1px solid var(--mg-border);
}
.mg-property-meta{margin:0;color:var(--mg-gold-dark);font-weight:850}
.mg-property-link{white-space:nowrap}

/* Customer-facing experience copy + CTA */
#experience{scroll-margin-top:90px}
#hebergements{scroll-margin-top:90px}
.mg-direct-section{padding-top:72px;padding-bottom:90px}
.mg-direct-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:44px;
  padding:46px 52px;
  border:1px solid var(--mg-border);
  border-radius:var(--mg-radius);
  background:
    radial-gradient(circle at 100% 0, rgba(185,147,74,.13), transparent 36%),
    var(--mg-cream);
  box-shadow:0 18px 55px rgba(35,25,10,.06);
}
.mg-direct-card h2{
  margin:12px 0 8px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,4vw,3.2rem);
  font-weight:500;
  letter-spacing:-.025em;
}
.mg-direct-card p{margin:0;color:var(--mg-muted);max-width:660px}
.mg-direct-card .mg-btn{flex:0 0 auto}

/* Footer polish */
.site-footer{margin-top:0}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li+li{margin-top:8px}
.mg-footer-brand h3{font-size:1.35rem}

/* =========================================================
   WooCommerce single product — premium gallery + clean layout
   ========================================================= */
.single-product .content-area{padding-top:68px}
.single-product .woocommerce div.product{
  display:flow-root;
  padding-top:0;
}
.single-product .woocommerce div.product div.images,
.single-product .woocommerce div.product div.summary{
  margin-bottom:48px;
}
.single-product .woocommerce div.product div.images{width:52%}
.single-product .woocommerce div.product div.summary{width:43%}
.single-product .woocommerce div.product .product_title{
  margin:4px 0 16px;
  font-size:clamp(2rem,3vw,2.85rem);
  line-height:1.08;
}
.single-product .woocommerce div.product p.price,
.single-product .woocommerce div.product span.price{
  margin:0 0 20px;
  font-size:1.45rem;
}
.single-product .woocommerce-product-details__short-description{
  color:#343434;
  line-height:1.75;
  margin-bottom:22px;
}
.single-product .product_meta{display:none}

/* Main image: rounded corners and no clipping glitches */
.single-product .woocommerce-product-gallery{
  overflow:visible!important;
}
.single-product .woocommerce-product-gallery .flex-viewport{
  border-radius:22px!important;
  overflow:hidden!important;
  background:var(--mg-cream);
}
.single-product .woocommerce-product-gallery__wrapper{
  border-radius:22px;
}
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image > a{
  display:block;
  border-radius:22px!important;
  overflow:hidden!important;
}
.single-product .woocommerce-product-gallery__image img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  border-radius:22px!important;
  opacity:1!important;
  filter:none!important;
  image-rendering:auto!important;
}
.single-product .woocommerce-product-gallery__trigger{
  top:14px!important;
  right:14px!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:0 6px 20px rgba(0,0,0,.08);
}

/* Gallery thumbnails: spacing + radius + NEVER faded/blurred */
.single-product .woocommerce div.product div.images .flex-control-thumbs{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:11px!important;
  clear:both;
  margin:15px 0 0!important;
  padding:0!important;
}
.single-product .woocommerce div.product div.images .flex-control-thumbs li{
  float:none!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
}
.single-product .woocommerce div.product div.images .flex-control-thumbs li img{
  width:100%!important;
  aspect-ratio:4/3;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:12px!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  transition:border-color .18s ease, box-shadow .18s ease!important;
  border:2px solid transparent!important;
  image-rendering:auto!important;
}
.single-product .woocommerce div.product div.images .flex-control-thumbs li img:hover,
.single-product .woocommerce div.product div.images .flex-control-thumbs li img.flex-active{
  opacity:1!important;
  filter:none!important;
  border-color:var(--mg-gold)!important;
  box-shadow:0 0 0 2px rgba(185,147,74,.12)!important;
}

/* Booking form: remove the double-card effect caused by cart + YITH wrappers */
.single-product .woocommerce div.product form.cart{
  margin-top:24px;
}
.single-product .woocommerce div.product.product-type-booking form.cart,
.single-product .woocommerce div.product form.cart:has(.yith-wcbk-booking-form),
.single-product .woocommerce div.product form.cart:has(.yith-wcbk-booking-form-wrapper){
  padding:0!important;
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
}
.yith-wcbk-booking-form-wrapper,
.yith-wcbk-booking-product-form,
.yith-wcbk-booking-form-container{
  border:0!important;
  background:transparent!important;
  padding:0!important;
  box-shadow:none!important;
}
.single-product .yith-wcbk-booking-form{
  margin:0!important;
  padding:24px!important;
  border:1px solid var(--mg-border)!important;
  border-radius:18px!important;
  background:var(--mg-cream)!important;
  box-shadow:0 12px 36px rgba(35,25,10,.05)!important;
}
.single-product .yith-wcbk-booking-form .yith-wcbk-form-section,
.single-product .yith-wcbk-booking-form .yith-wcbk-booking-form__content{
  background:transparent!important;
}
.single-product .yith-wcbk-booking-form .button,
.single-product .yith-wcbk-add-to-cart-button,
.single-product .single_add_to_cart_button{
  width:auto;
  min-height:50px!important;
  margin-top:10px!important;
  padding-inline:24px!important;
}
.single-product .single_add_to_cart_button:disabled,
.single-product .single_add_to_cart_button.disabled,
.single-product button.button:disabled{
  background:#d3bd8f!important;
  color:#fff!important;
  opacity:.82!important;
}

/* Product tabs / long description */
.single-product .woocommerce div.product .woocommerce-tabs{
  clear:both;
  padding-top:28px;
  margin-top:12px;
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:0!important;
  margin:0 0 28px!important;
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none!important}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li{
  border:1px solid var(--mg-border)!important;
  background:#fff!important;
  border-radius:999px!important;
  margin:0!important;
  padding:0!important;
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active{
  background:var(--mg-cream)!important;
  border-color:var(--mg-gold-soft)!important;
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a{
  padding:10px 16px!important;
}
.single-product .woocommerce-Tabs-panel{
  max-width:900px;
  line-height:1.8;
}
.single-product .related.products,
.single-product .upsells.products{
  clear:both;
  padding-top:48px;
}
.single-product .related.products > h2,
.single-product .upsells.products > h2{
  font-family:Georgia,"Times New Roman",serif;
  font-size:2.2rem;
  font-weight:500;
}

/* Cleaner shop cards */
.woocommerce ul.products li.product{
  transition:transform .2s ease, box-shadow .2s ease;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 42px rgba(35,25,10,.09);
}
.woocommerce ul.products li.product img{
  aspect-ratio:4/3;
  object-fit:cover;
}

/* Responsive refinements */
@media (max-width: 1024px){
  .single-product .woocommerce div.product div.images,
  .single-product .woocommerce div.product div.summary{
    width:48%;
  }
}
@media (max-width: 900px){
  .mg-properties,.mg-properties.is-single{grid-template-columns:1fr}
  .mg-properties.is-single{max-width:680px;margin-inline:auto}
  .mg-direct-card{flex-direction:column;align-items:flex-start;padding:38px}
  .main-navigation a{padding:9px 0}
  .main-navigation a::after{bottom:4px}
  .single-product .woocommerce div.product div.images,
  .single-product .woocommerce div.product div.summary{
    width:100%!important;
    float:none!important;
  }
  .single-product .woocommerce div.product div.images{margin-bottom:34px}
}
@media (max-width: 560px){
  .site-title{font-size:1rem;white-space:normal;line-height:1.15}
  .mg-property-body{padding:23px 21px 24px}
  .mg-property-body h3{font-size:1.65rem}
  .mg-property-footer{align-items:flex-start;flex-direction:column;gap:10px}
  .mg-direct-card{padding:28px 22px}
  .single-product .content-area{padding-top:38px}
  .single-product .woocommerce div.product div.images .flex-control-thumbs{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px!important;
  }
  .single-product .woocommerce div.product div.images .flex-control-thumbs li img{
    border-radius:9px!important;
  }
  .single-product .yith-wcbk-booking-form{padding:18px!important}
}



/* =========================================================
   Marrakech Gold 1.2 — stronger brand identity + better gallery
   ========================================================= */

:root{
  --mg-gold:#c39a4f;
  --mg-gold-dark:#8f6931;
  --mg-gold-light:#e8d4a6;
  --mg-sand:#f6f1e8;
  --mg-ivory:#fffcf7;
  --mg-card:#ffffff;
  --mg-accent-gradient:linear-gradient(135deg,#8f6931 0%,#c39a4f 35%,#efd9a8 100%);
  --mg-heading-font:"Fraunces", Georgia, "Times New Roman", serif;
  --mg-body-font:"Manrope", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body{
  font-family:var(--mg-body-font);
  background:
    radial-gradient(circle at 0% 0%, rgba(195,154,79,.08), transparent 20%),
    linear-gradient(180deg, #fff, #fdfbf8 55%, #fcfaf6);
}

h1,h2,h3,h4,h5,h6,
.entry-title,
.woocommerce div.product .product_title,
.mg-section-head h2,
.mg-hero h1,
.site-title{
  font-family:var(--mg-heading-font)!important;
}

.site-header{
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(16px);
  box-shadow:0 8px 34px rgba(31,31,31,.04);
}

.site-branding{
  position:relative;
}

.site-title{
  display:inline-flex;
  align-items:baseline;
  gap:.38rem;
  font-size:1.55rem;
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1;
}

.site-title-accent{
  background:var(--mg-accent-gradient);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}

.site-title-rest{
  color:var(--mg-ink);
}

.mg-footer-brand-title .site-title-rest{
  color:#fff;
}

.main-navigation a{
  font-family:var(--mg-body-font);
  font-weight:700;
  letter-spacing:-.01em;
  border-radius:999px;
  padding:12px 14px;
  transition:background-color .2s ease, color .2s ease, transform .2s ease;
}

.main-navigation a::after{
  display:none;
}

.main-navigation a:hover{
  background:rgba(195,154,79,.10);
  color:var(--mg-gold-dark);
  transform:translateY(-1px);
}

.mg-header-cta,
.mg-btn-primary,
.wp-element-button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt{
  background:linear-gradient(135deg,#b68430 0%, #d0ab63 55%, #a97828 100%)!important;
  box-shadow:0 12px 28px rgba(182,132,48,.20);
}

.mg-header-cta:hover,
.mg-btn-primary:hover{
  transform:translateY(-1px) scale(1.01);
  box-shadow:0 18px 34px rgba(182,132,48,.24);
}

.mg-btn-secondary{
  background:rgba(255,255,255,.88);
  border:1px solid rgba(195,154,79,.18)!important;
  box-shadow:0 10px 28px rgba(31,31,31,.04);
}

.mg-hero{
  min-height:68vh;
  background:
    radial-gradient(circle at 16% 14%, rgba(195,154,79,.14), transparent 28%),
    radial-gradient(circle at 86% 18%, rgba(242,230,204,.9), transparent 34%),
    linear-gradient(135deg,#fff 0%, #fbf7f0 56%, #f7f0e4 100%);
}

.mg-hero::after{
  border-color:rgba(195,154,79,.12);
}

.mg-kicker{
  background:rgba(255,255,255,.7);
  border-color:rgba(195,154,79,.25);
  backdrop-filter:blur(10px);
}

.mg-hero h1{
  font-size:clamp(3.1rem,7vw,6.6rem);
  letter-spacing:-.05em;
  font-weight:600;
}

.mg-hero h1 em{
  background:var(--mg-accent-gradient);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}

.mg-hero p{
  font-size:clamp(1rem,2vw,1.18rem);
  max-width:760px;
}

.mg-property-card,
.mg-feature,
.mg-direct-card{
  background:rgba(255,255,255,.92);
  box-shadow:0 22px 52px rgba(30,22,10,.06);
  border-color:rgba(195,154,79,.14);
}

.mg-property-card:hover{
  transform:translateY(-4px);
  transition:transform .22s ease, box-shadow .22s ease;
  box-shadow:0 26px 60px rgba(30,22,10,.09);
}

.mg-feature .icon{
  background:linear-gradient(135deg, rgba(195,154,79,.10), rgba(195,154,79,.20));
  border:1px solid rgba(195,154,79,.15);
}

.site-footer{
  background:
    radial-gradient(circle at 0% 0%, rgba(195,154,79,.10), transparent 24%),
    linear-gradient(180deg, #151515, #0f0f0f);
}

/* =======================
   Single product rebrand
   ======================= */
.single-product .content-area{
  padding-top:52px;
}

.single-product .woocommerce div.product div.images{
  width:50%;
}

.single-product .woocommerce div.product div.summary{
  width:44%;
  padding:8px 0 0 8px;
}

@media (min-width: 981px){
  .single-product .woocommerce div.product div.summary{
    position:sticky;
    top:112px;
  }
}

.single-product .woocommerce-product-gallery{
  position:relative;
  padding:16px;
  border-radius:30px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(195,154,79,.14);
  box-shadow:0 24px 60px rgba(30,22,10,.08);
}

.single-product .woocommerce-product-gallery .flex-viewport{
  border-radius:24px!important;
  overflow:hidden!important;
  background:var(--mg-sand);
}

.single-product .woocommerce-product-gallery__image img{
  border-radius:24px!important;
}

.single-product .woocommerce-product-gallery__trigger{
  top:20px!important;
  right:20px!important;
  width:48px;
  height:48px;
  display:grid!important;
  place-items:center;
  border:1px solid rgba(195,154,79,.18);
}

.single-product .woocommerce div.product div.images .flex-control-thumbs{
  display:flex!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  gap:12px!important;
  clear:both;
  margin:18px 0 0!important;
  padding:0 2px 4px!important;
  scrollbar-width:thin;
  scroll-snap-type:x proximity;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs::-webkit-scrollbar{
  height:6px;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs::-webkit-scrollbar-thumb{
  background:rgba(195,154,79,.34);
  border-radius:999px;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li{
  flex:0 0 92px!important;
  width:92px!important;
  float:none!important;
  scroll-snap-align:start;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li img{
  width:92px!important;
  height:92px!important;
  aspect-ratio:1/1;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:16px!important;
  opacity:1!important;
  filter:none!important;
  border:2px solid transparent!important;
  background:#fff!important;
  box-shadow:0 10px 20px rgba(31,31,31,.05);
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li img:not(.flex-active){
  opacity:1!important;
  filter:none!important;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li img:hover,
.single-product .woocommerce div.product div.images .flex-control-thumbs li img.flex-active{
  opacity:1!important;
  filter:none!important;
  border-color:var(--mg-gold)!important;
  box-shadow:0 0 0 3px rgba(195,154,79,.12)!important, 0 12px 26px rgba(31,31,31,.06)!important;
}

.single-product .mg-gallery-controls{
  position:absolute;
  top:calc(50% - 26px);
  left:18px;
  right:18px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  pointer-events:none;
  z-index:9;
}

.single-product .mg-gallery-btn{
  pointer-events:auto;
  width:52px;
  height:52px;
  border:1px solid rgba(195,154,79,.18);
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:var(--mg-gold-dark);
  box-shadow:0 12px 26px rgba(31,31,31,.08);
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease;
  font-size:1.9rem;
  line-height:1;
  display:grid;
  place-items:center;
  padding:0;
}

.single-product .mg-gallery-btn:hover{
  transform:translateY(-1px) scale(1.02);
  background:#fff;
  box-shadow:0 18px 30px rgba(31,31,31,.12);
}

.single-product .woocommerce div.product .summary{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(195,154,79,.14);
  border-radius:30px;
  padding:24px 28px 28px!important;
  box-shadow:0 24px 60px rgba(30,22,10,.06);
}

.single-product .woocommerce div.product .product_title{
  font-size:clamp(2.2rem,3vw,3.1rem);
  letter-spacing:-.04em;
  margin-bottom:10px;
}

.single-product .woocommerce div.product p.price,
.single-product .woocommerce div.product span.price{
  font-size:1.8rem;
  font-weight:800;
}

.single-product .woocommerce-product-details__short-description p{
  margin-top:0;
  font-size:1.02rem;
  line-height:1.85;
  color:#3e3a34;
}

.single-product .yith-wcbk-booking-form{
  border-radius:24px!important;
  background:linear-gradient(180deg, #fffdf9, #f9f3e8)!important;
  border:1px solid rgba(195,154,79,.16)!important;
  padding:26px!important;
}

.single-product .yith-wcbk-booking-form label{
  font-size:1rem;
  font-weight:800!important;
}

.single-product .yith-wcbk-booking-form input,
.single-product .yith-wcbk-booking-form select{
  min-height:50px!important;
  border-radius:14px!important;
  background:#fff!important;
}

.single-product .single_add_to_cart_button{
  background:var(--mg-accent-gradient)!important;
  border-radius:999px!important;
  min-height:52px!important;
  padding-inline:26px!important;
  box-shadow:0 14px 24px rgba(182,132,48,.18);
}

.single-product .single_add_to_cart_button:hover{
  transform:translateY(-1px);
}

@media (max-width: 980px){
  .site-title{
    font-size:1.22rem;
    white-space:normal;
  }

  .single-product .woocommerce div.product div.images,
  .single-product .woocommerce div.product div.summary{
    width:100%;
  }

  .single-product .woocommerce div.product div.summary{
    margin-top:24px;
    padding:22px!important;
  }

  .single-product .mg-gallery-controls{
    left:10px;
    right:10px;
  }

  .single-product .mg-gallery-btn{
    width:44px;
    height:44px;
    font-size:1.6rem;
  }
}

@media (max-width: 560px){
  .site-title{
    gap:.22rem;
    font-size:1.05rem;
  }

  .single-product .woocommerce-product-gallery{
    padding:10px;
    border-radius:22px;
  }

  .single-product .woocommerce div.product div.images .flex-control-thumbs li,
  .single-product .woocommerce div.product div.images .flex-control-thumbs li img{
    width:76px!important;
    height:76px!important;
    flex-basis:76px!important;
  }

  .single-product .woocommerce div.product .summary{
    border-radius:22px;
  }
}


/* =========================================================
   Marrakech Gold 1.3 — carousel polish + stronger branding
   ========================================================= */

.site-branding{
  gap:14px;
}

.site-branding::before{
  content:"";
  width:14px;
  height:14px;
  border-radius:5px;
  background:var(--mg-accent-gradient);
  box-shadow:0 10px 24px rgba(182,132,48,.28);
  flex:0 0 auto;
}

.site-title{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem;
  font-size:1.56rem;
  line-height:1;
}

.site-title-accent{
  background:linear-gradient(135deg,#8f6931 0%,#c39a4f 45%,#efd9a8 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  text-shadow:0 10px 26px rgba(182,132,48,.16);
}

.site-title-core{
  color:#1f1f1f;
}

.site-title-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:0 .72rem;
  border-radius:999px;
  font-family:var(--mg-body-font);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#fff;
  background:linear-gradient(135deg,#b68430 0%, #d0ab63 55%, #8f6931 100%);
  box-shadow:0 12px 28px rgba(182,132,48,.20);
  transform:translateY(-1px);
}

.mg-footer-brand-title{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.42rem;
}

.mg-footer-brand-title .site-title-core{
  color:#fff;
}

.site-header .mg-header-inner{
  min-height:84px;
}

.main-navigation ul{
  padding:8px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(195,154,79,.12);
  box-shadow:0 12px 30px rgba(31,31,31,.04);
}

.main-navigation li{display:flex;align-items:center;}

.main-navigation a{
  min-height:42px;
}

.mg-header-cta{
  min-height:48px;
  padding-inline:24px;
}

.single-product .woocommerce-product-gallery{
  overflow:hidden;
}

.single-product .woocommerce-product-gallery .flex-viewport{
  margin-bottom:20px;
  position:relative;
  cursor:grab;
}

.single-product .woocommerce-product-gallery .flex-viewport:active{
  cursor:grabbing;
}

.single-product .woocommerce-product-gallery__image > a{
  display:block;
  background:var(--mg-sand);
}

.single-product .woocommerce-product-gallery__image img.wp-post-image,
.single-product .woocommerce-product-gallery__image img{
  width:100%!important;
  height:clamp(360px, 42vw, 560px)!important;
  object-fit:cover!important;
  object-position:center!important;
}

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

.single-product .woocommerce div.product div.images .flex-control-thumbs li{
  position:relative;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:16px;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(195,154,79,.08);
}

.single-product .mg-gallery-controls{
  top:calc(50% - 36px);
}

.single-product .mg-gallery-btn{
  backdrop-filter:blur(10px);
}

.single-product .woocommerce div.product .summary{
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(250,245,236,.92));
}

.single-product .woocommerce div.product .summary:hover,
.single-product .woocommerce-product-gallery:hover{
  box-shadow:0 30px 70px rgba(30,22,10,.09);
  transition:box-shadow .22s ease, transform .22s ease;
}

.single-product .woocommerce div.product .summary .price{
  display:inline-block;
  padding:.18rem .75rem;
  border-radius:999px;
  background:rgba(195,154,79,.10);
}

.single-product .yith-wcbk-booking-form{
  margin-top:8px!important;
}

.single-product .yith-wcbk-booking-form .yith-wcbk-form-section{
  border-radius:20px;
}

.single-product .single_add_to_cart_button,
.single-product .yith-wcbk-add-to-cart-button{
  transition:transform .18s ease, box-shadow .18s ease!important;
}

.single-product .single_add_to_cart_button:hover,
.single-product .yith-wcbk-add-to-cart-button:hover{
  transform:translateY(-1px) scale(1.01);
  box-shadow:0 18px 30px rgba(182,132,48,.22)!important;
}

.mg-property-card,
.mg-feature,
.mg-direct-card,
.single-product .woocommerce div.product .summary,
.single-product .woocommerce-product-gallery{
  transition:transform .22s ease, box-shadow .22s ease;
}

.mg-feature:hover,
.mg-direct-card:hover{
  transform:translateY(-2px);
  box-shadow:0 28px 58px rgba(30,22,10,.08);
}

@media (max-width: 980px){
  .main-navigation ul{
    background:transparent;
    border:0;
    box-shadow:none;
    padding:0;
  }

  .site-title{
    font-size:1.18rem;
    gap:.35rem;
  }

  .site-title-tag{
    min-height:26px;
    padding:0 .58rem;
    font-size:.67rem;
  }
}

@media (max-width: 560px){
  .site-branding::before{
    width:12px;
    height:12px;
  }

  .site-title{
    font-size:1rem;
  }

  .single-product .woocommerce-product-gallery__image img.wp-post-image,
  .single-product .woocommerce-product-gallery__image img{
    height:clamp(260px, 74vw, 360px)!important;
  }

  .single-product .mg-gallery-btn{
    width:40px;
    height:40px;
    font-size:1.45rem;
  }
}

/* =========================================================
   Marrakech Gold 1.3 — brand system + premium product carousel
   ========================================================= */

:root{
  --mg-espresso:#241b14;
  --mg-charcoal:#292622;
  --mg-bronze:#9f7131;
  --mg-gold:#c79a47;
  --mg-champagne:#ead6ad;
  --mg-sand:#f5efe5;
  --mg-ivory:#fffdf9;
  --mg-accent-gradient:linear-gradient(118deg,#8e642d 0%,#c99742 38%,#e2c27c 66%,#a96f24 100%);
  --mg-brand-shadow:0 20px 55px rgba(70,48,18,.12);
}

/* ---------- Brand / header ---------- */
.site-header{
  border-bottom:1px solid rgba(159,113,49,.13);
  background:rgba(255,253,249,.88);
}

.mg-header-inner{
  min-height:84px;
}

.site-title{
  display:inline-flex!important;
  align-items:center;
  gap:11px!important;
  min-width:max-content;
  text-decoration:none!important;
}

.mg-brand-mark{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:13px;
  color:#fff;
  font-family:var(--mg-heading-font);
  font-size:1.22rem;
  font-weight:700;
  line-height:1;
  background:var(--mg-accent-gradient);
  box-shadow:0 10px 24px rgba(159,113,49,.22);
  transition:transform .22s ease, box-shadow .22s ease;
}

.site-title:hover .mg-brand-mark{
  transform:translateY(-2px) rotate(-2deg);
  box-shadow:0 14px 30px rgba(159,113,49,.28);
}

.mg-brand-copy{
  display:flex;
  align-items:baseline;
  gap:.42rem;
  white-space:nowrap;
}

.site-title-accent{
  font-size:1.35rem;
  font-weight:700;
  letter-spacing:-.035em;
  background:var(--mg-accent-gradient);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}

.site-title-rest{
  font-family:var(--mg-body-font);
  font-size:.82rem;
  font-weight:800;
  line-height:1;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#4a443e;
}

.main-navigation ul{
  gap:7px!important;
}

.main-navigation a{
  padding:11px 15px!important;
  border:1px solid transparent;
}

.main-navigation a:hover{
  border-color:rgba(159,113,49,.13);
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(245,239,229,.82));
}

.mg-header-cta{
  min-height:48px;
  padding-inline:22px;
  border:1px solid rgba(255,255,255,.34);
}

/* ---------- Global brand consistency ---------- */
.mg-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease!important;
}

.mg-btn-secondary:hover{
  transform:translateY(-2px);
  border-color:rgba(159,113,49,.36)!important;
  box-shadow:0 16px 32px rgba(61,42,16,.08);
}

.mg-property-card,
.mg-feature,
.mg-direct-card,
.single-product .woocommerce div.product .summary,
.single-product .woocommerce-product-gallery{
  backdrop-filter:blur(8px);
}

.mg-property-media,
.woocommerce ul.products li.product img{
  border-radius:20px;
}

.mg-property-card{
  padding:10px;
  border-radius:28px;
}

.mg-property-body{
  padding:25px 20px 22px;
}

.mg-property-card:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 65px rgba(71,49,18,.12);
}

.mg-property-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition:gap .2s ease,color .2s ease;
}

.mg-property-link:hover{
  gap:10px;
  color:var(--mg-bronze);
}

/* ---------- Product page layout ---------- */
.single-product .woocommerce div.product{
  column-gap:4.5%;
}

.single-product .woocommerce div.product div.images{
  width:51%;
}

.single-product .woocommerce div.product div.summary{
  width:44%;
}

.single-product .woocommerce-product-gallery{
  padding:14px 14px 16px!important;
  border-radius:30px!important;
  background:linear-gradient(155deg,rgba(255,255,255,.96),rgba(248,243,234,.92))!important;
  border:1px solid rgba(159,113,49,.14)!important;
  box-shadow:0 26px 65px rgba(54,37,14,.10)!important;
}

/* One main image only, same premium frame for every photo */
.single-product .woocommerce-product-gallery .flex-viewport{
  width:100%!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:#eee8df!important;
  box-shadow:inset 0 0 0 1px rgba(159,113,49,.05);
}

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

.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image > a{
  width:100%!important;
  border-radius:24px!important;
}

.single-product .woocommerce-product-gallery__image img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/3!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:24px!important;
  opacity:1!important;
  filter:none!important;
  transform:none;
}

/* Clear spacing between selected photo and thumbnails */
.single-product .woocommerce div.product div.images .flex-control-thumbs{
  width:100%;
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:12px!important;
  margin:20px 0 0!important;
  padding:2px 2px 7px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-behavior:smooth;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs::-webkit-scrollbar{
  display:none;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li{
  flex:0 0 82px!important;
  width:82px!important;
  height:82px!important;
  margin:0!important;
  padding:0!important;
  scroll-snap-align:center;
  border-radius:15px;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li img{
  width:82px!important;
  height:82px!important;
  display:block!important;
  object-fit:cover!important;
  border-radius:15px!important;
  opacity:1!important;
  filter:none!important;
  -webkit-filter:none!important;
  transform:none!important;
  background:#fff!important;
  border:2px solid transparent!important;
  box-shadow:0 9px 20px rgba(42,32,20,.07);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li img:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(199,154,71,.48)!important;
  box-shadow:0 13px 24px rgba(42,32,20,.11)!important;
}

.single-product .woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.single-product .woocommerce div.product div.images .flex-control-thumbs li.mg-thumb-active img{
  opacity:1!important;
  filter:none!important;
  border-color:var(--mg-gold)!important;
  box-shadow:0 0 0 3px rgba(199,154,71,.15),0 12px 24px rgba(42,32,20,.10)!important;
}

/* Overlay prev/next selectors */
.single-product .mg-gallery-controls{
  position:absolute!important;
  left:27px!important;
  right:27px!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  transform:translateY(-50%);
  z-index:14!important;
  pointer-events:none!important;
}

.single-product .mg-gallery-btn{
  pointer-events:auto!important;
  width:50px!important;
  height:50px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:17px!important;
  border:1px solid rgba(255,255,255,.72)!important;
  color:#5f421d!important;
  background:rgba(255,255,255,.90)!important;
  backdrop-filter:blur(12px);
  box-shadow:0 13px 32px rgba(28,21,13,.14)!important;
  font-family:var(--mg-body-font)!important;
  font-size:2rem!important;
  font-weight:400!important;
  line-height:1!important;
  cursor:pointer!important;
}

.single-product .mg-gallery-btn:hover{
  color:#fff!important;
  background:var(--mg-accent-gradient)!important;
  border-color:transparent!important;
  transform:scale(1.06)!important;
  box-shadow:0 17px 38px rgba(87,57,18,.22)!important;
}

.single-product .mg-gallery-btn:active{
  transform:scale(.96)!important;
}

.single-product .mg-gallery-counter{
  position:absolute;
  right:28px;
  z-index:14;
  min-width:58px;
  height:34px;
  padding:0 11px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  color:#46351f;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(255,255,255,.78);
  backdrop-filter:blur(10px);
  box-shadow:0 8px 22px rgba(31,24,15,.10);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.02em;
}

/* Zoom trigger visually distinct from counter */
.single-product .woocommerce-product-gallery__trigger{
  top:25px!important;
  left:27px!important;
  right:auto!important;
  width:44px!important;
  height:44px!important;
  border-radius:15px!important;
  border:1px solid rgba(255,255,255,.75)!important;
  background:rgba(255,255,255,.91)!important;
  backdrop-filter:blur(10px);
}

/* Product information identity */
.single-product .woocommerce div.product .summary{
  border-radius:30px!important;
  padding:31px 31px 32px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(234,214,173,.33),transparent 35%),
    rgba(255,255,255,.88)!important;
  border:1px solid rgba(159,113,49,.14)!important;
  box-shadow:0 26px 65px rgba(54,37,14,.08)!important;
}

.single-product .woocommerce div.product .product_title{
  position:relative;
  padding-bottom:18px;
  margin-bottom:16px!important;
  color:var(--mg-espresso);
}

.single-product .woocommerce div.product .product_title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:72px;
  height:4px;
  border-radius:999px;
  background:var(--mg-accent-gradient);
}

.single-product .woocommerce div.product p.price,
.single-product .woocommerce div.product span.price{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:5px 13px;
  margin-bottom:20px!important;
  border-radius:13px;
  color:#7b541f!important;
  background:rgba(234,214,173,.25);
  border:1px solid rgba(159,113,49,.12);
}

.single-product .woocommerce-product-details__short-description{
  font-size:1.01rem;
  color:#4b443c;
}

.single-product .yith-wcbk-booking-form{
  margin-top:20px!important;
  border-radius:25px!important;
  background:linear-gradient(145deg,#fffdfa,#f7f0e4)!important;
}

.single-product .yith-wcbk-booking-form input,
.single-product .yith-wcbk-booking-form select{
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.single-product .yith-wcbk-booking-form input:hover,
.single-product .yith-wcbk-booking-form select:hover{
  border-color:rgba(159,113,49,.35)!important;
}

.single-product .single_add_to_cart_button{
  background:var(--mg-accent-gradient)!important;
  box-shadow:0 14px 30px rgba(126,84,27,.19)!important;
}

.single-product .single_add_to_cart_button:not(:disabled):hover{
  transform:translateY(-2px)!important;
  box-shadow:0 18px 36px rgba(126,84,27,.25)!important;
}

/* ---------- Footer branding ---------- */
.mg-footer-brand-title{
  display:flex;
  align-items:center;
  gap:11px;
}

.mg-brand-mark-footer{
  width:34px;
  height:34px;
  flex-basis:34px;
  border-radius:11px;
}

.mg-footer-brand-title .site-title-accent{
  font-size:1.28rem;
}

.mg-footer-brand-title .site-title-rest{
  color:#d4cec5;
  font-size:.72rem;
}

/* ---------- Responsive ---------- */
@media (max-width: 980px){
  .mg-brand-copy{
    white-space:normal;
  }

  .single-product .woocommerce div.product div.images,
  .single-product .woocommerce div.product div.summary{
    width:100%!important;
  }

  .single-product .woocommerce div.product .summary{
    margin-top:26px!important;
  }
}

@media (max-width: 720px){
  .mg-header-inner{
    min-height:72px;
  }

  .site-title{
    gap:8px!important;
  }

  .mg-brand-mark{
    width:34px;
    height:34px;
    flex-basis:34px;
    border-radius:11px;
    font-size:1.08rem;
  }

  .site-title-accent{
    font-size:1.08rem;
  }

  .site-title-rest{
    display:none;
  }

  .single-product .woocommerce-product-gallery{
    padding:9px 9px 12px!important;
    border-radius:22px!important;
  }

  .single-product .woocommerce-product-gallery .flex-viewport,
  .single-product .woocommerce-product-gallery__image,
  .single-product .woocommerce-product-gallery__image > a,
  .single-product .woocommerce-product-gallery__image img{
    border-radius:17px!important;
  }

  .single-product .mg-gallery-controls{
    left:16px!important;
    right:16px!important;
  }

  .single-product .mg-gallery-btn{
    width:43px!important;
    height:43px!important;
    border-radius:14px!important;
    font-size:1.7rem!important;
  }

  .single-product .mg-gallery-counter{
    right:17px;
    height:30px;
    font-size:.72rem;
  }

  .single-product .woocommerce-product-gallery__trigger{
    top:18px!important;
    left:17px!important;
    width:40px!important;
    height:40px!important;
  }

  .single-product .woocommerce div.product div.images .flex-control-thumbs{
    margin-top:14px!important;
    gap:9px!important;
  }

  .single-product .woocommerce div.product div.images .flex-control-thumbs li,
  .single-product .woocommerce div.product div.images .flex-control-thumbs li img{
    width:68px!important;
    height:68px!important;
    flex-basis:68px!important;
    border-radius:12px!important;
  }

  .single-product .woocommerce div.product .summary{
    padding:24px 21px 25px!important;
    border-radius:24px!important;
  }
}

/* =========================================================
   Marrakech Gold 1.4 — gallery fix + modern product identity
   ========================================================= */

:root{
  --mg-sage:#435348;
  --mg-sage-dark:#2f3c34;
  --mg-sage-soft:#e8eee9;
  --mg-warm-gold:#c69745;
  --mg-deep-gold:#8f6428;
}

/* ---------- Product gallery: no crop, no hover zoom, stable stage ---------- */
.single-product .woocommerce-product-gallery{
  overflow:visible!important;
}

.single-product .woocommerce-product-gallery .flex-viewport{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/3!important;
  overflow:hidden!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 15% 15%,rgba(198,151,69,.10),transparent 28%),
    linear-gradient(145deg,#f7f3ec,#ece9e2)!important;
}

.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper{
  height:100%!important;
  min-height:100%!important;
}

.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image{
  height:100%!important;
  min-height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:transparent!important;
}

.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image > a{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
}

.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery .flex-viewport img.wp-post-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:22px!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
}

/* Ensure Woo/EasyZoom can never cover the gallery with a zoomed flyout */
.single-product .easyzoom-flyout,
.single-product .zoomImg{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Thumbnails remain crisp */
.single-product .woocommerce div.product div.images .flex-control-thumbs{
  margin-top:18px!important;
}
.single-product .woocommerce div.product div.images .flex-control-thumbs li img{
  opacity:1!important;
  filter:none!important;
  -webkit-filter:none!important;
}

/* ---------- Modern product information ---------- */
.single-product .woocommerce div.product .summary{
  background:
    radial-gradient(circle at 100% 0%,rgba(67,83,72,.08),transparent 34%),
    rgba(255,255,255,.93)!important;
  border:1px solid rgba(67,83,72,.10)!important;
  box-shadow:0 24px 58px rgba(38,45,40,.08)!important;
}

.mg-product-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 13px;
  padding:8px 12px;
  border-radius:999px;
  color:var(--mg-sage-dark);
  background:var(--mg-sage-soft);
  border:1px solid rgba(67,83,72,.10);
  font-family:var(--mg-body-font);
  font-size:.72rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.105em;
  text-transform:uppercase;
}

.mg-product-eyebrow-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--mg-warm-gold),var(--mg-deep-gold));
  box-shadow:0 0 0 4px rgba(198,151,69,.12);
}

.mg-product-eyebrow-sep{
  color:rgba(47,60,52,.38);
}

.single-product .woocommerce div.product .product_title{
  position:relative!important;
  margin:0 0 14px!important;
  padding:0!important;
  max-width:620px;
  color:#222622!important;
  font-family:var(--mg-body-font)!important;
  font-size:clamp(2rem,3vw,3.15rem)!important;
  line-height:1.04!important;
  font-weight:750!important;
  letter-spacing:-.045em!important;
}

.single-product .woocommerce div.product .product_title::after{
  display:none!important;
}

.single-product .woocommerce div.product p.price,
.single-product .woocommerce div.product span.price{
  min-height:0!important;
  margin:2px 0 20px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  color:var(--mg-deep-gold)!important;
  background:transparent!important;
  font-family:var(--mg-body-font)!important;
  font-size:1.28rem!important;
  font-weight:800!important;
  letter-spacing:-.02em;
}

.single-product .woocommerce-product-details__short-description{
  margin-top:5px;
  color:#5a5e59!important;
  font-size:1rem!important;
  line-height:1.75!important;
}

.single-product .woocommerce-product-details__short-description strong{
  color:#2c322e;
  font-weight:750;
}

/* Booking card now uses sage as secondary color */
.single-product .yith-wcbk-booking-form,
.single-product .yith-wcbk-booking-form-wrapper,
.single-product form.cart{
  border-color:rgba(67,83,72,.12)!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(67,83,72,.055),transparent 35%),
    linear-gradient(145deg,#fffdfa,#f7f2e9)!important;
}

.single-product .yith-wcbk-booking-form input:focus,
.single-product .yith-wcbk-booking-form select:focus{
  border-color:var(--mg-sage)!important;
  box-shadow:0 0 0 3px rgba(67,83,72,.10)!important;
}

.single-product .single_add_to_cart_button,
.single-product .yith-wcbk-add-to-cart-button{
  color:#fff!important;
  background:linear-gradient(120deg,var(--mg-sage-dark),var(--mg-sage) 52%,#647267)!important;
  box-shadow:0 14px 30px rgba(47,60,52,.18)!important;
}

.single-product .single_add_to_cart_button:not(:disabled):hover,
.single-product .yith-wcbk-add-to-cart-button:not(:disabled):hover{
  transform:translateY(-2px)!important;
  box-shadow:0 18px 36px rgba(47,60,52,.25)!important;
}

/* Gallery controls pair with the new secondary color */
.single-product .mg-gallery-btn{
  color:var(--mg-sage-dark)!important;
}
.single-product .mg-gallery-btn:hover{
  color:#fff!important;
  background:linear-gradient(135deg,var(--mg-sage-dark),var(--mg-sage))!important;
}
.single-product .mg-gallery-counter{
  color:var(--mg-sage-dark)!important;
}

/* Product page background gets a subtle premium tint */
.single-product .site-main.content-area{
  background:
    radial-gradient(circle at 8% 12%,rgba(198,151,69,.06),transparent 25%),
    radial-gradient(circle at 95% 10%,rgba(67,83,72,.05),transparent 22%),
    #fffdf9;
}

/* ---------- Header simplification ---------- */
.site-title-rest{
  color:var(--mg-sage-dark)!important;
}
.site-title:hover .site-title-rest{
  color:#202823!important;
}

@media (max-width:720px){
  .single-product .woocommerce-product-gallery .flex-viewport{
    aspect-ratio:1/1!important;
    border-radius:18px!important;
  }

  .single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image img,
  .single-product .woocommerce-product-gallery .flex-viewport img.wp-post-image{
    border-radius:16px!important;
  }

  .single-product .woocommerce div.product .product_title{
    font-size:clamp(1.75rem,8vw,2.35rem)!important;
  }
}

/* =========================================================
   Marrakech Gold 1.5 — refined site wordmark
   ========================================================= */

/* Remove visual clutter from the previous wordmark */
.site-branding::before{
  content:none!important;
  display:none!important;
}

.mg-brand-mark,
.mg-brand-copy,
.site-title-accent,
.site-title-core,
.site-title-tag,
.site-title-rest{
  display:none!important;
}

.site-branding{
  display:flex!important;
  align-items:center!important;
  min-width:260px;
  position:relative;
}

/* Elegant, minimal two-line brand */
.site-title.mg-wordmark{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:4px!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
  color:inherit!important;
  line-height:1!important;
  text-decoration:none!important;
  transform:none!important;
}

.mg-wordmark-main{
  display:block!important;
  color:#26342e!important;
  font-family:var(--mg-heading-font)!important;
  font-size:1.74rem!important;
  line-height:.92!important;
  font-weight:650!important;
  letter-spacing:-.045em!important;
  transition:color .22s ease, transform .22s ease!important;
}

.mg-wordmark-sub{
  display:block!important;
  color:#a57939!important;
  font-family:var(--mg-body-font)!important;
  font-size:.63rem!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.23em!important;
  text-transform:uppercase!important;
  transition:color .22s ease, letter-spacing .22s ease!important;
}

.site-title.mg-wordmark:hover .mg-wordmark-main{
  color:#121713!important;
  transform:translateX(2px);
}

.site-title.mg-wordmark:hover .mg-wordmark-sub{
  color:#795524!important;
  letter-spacing:.25em!important;
}

/* Small editorial accent: sage -> gold */
.site-header .site-branding::after{
  content:"";
  position:absolute;
  left:-16px;
  top:50%;
  width:4px;
  height:32px;
  border-radius:999px;
  transform:translateY(-50%);
  background:linear-gradient(180deg,#435348 0%,#c69745 100%);
  box-shadow:0 5px 15px rgba(67,83,72,.08);
}

/* Let the wordmark be the visual anchor */
.site-header .main-navigation ul{
  padding:6px!important;
  background:rgba(255,255,255,.56)!important;
  border:1px solid rgba(67,83,72,.065)!important;
  box-shadow:0 8px 24px rgba(40,48,43,.03)!important;
}

.site-header .main-navigation a{
  color:#333a36!important;
}

.site-header .main-navigation a:hover{
  color:#26342e!important;
  background:rgba(67,83,72,.07)!important;
  border-color:transparent!important;
}

/* Footer wordmark */
.mg-footer-brand-title.mg-wordmark-footer{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:5px!important;
  margin:0 0 18px!important;
}

.mg-wordmark-footer .mg-wordmark-main{
  color:#fff!important;
  font-size:1.66rem!important;
}

.mg-wordmark-footer .mg-wordmark-sub{
  color:#d4b272!important;
}

/* Desktop spacing */
@media (min-width:981px){
  .mg-header-inner{
    gap:34px!important;
  }
}

/* Tablet / mobile */
@media (max-width:980px){
  .site-branding{
    min-width:auto;
  }

  .site-header .site-branding::after{
    left:-10px;
    height:28px;
  }

  .mg-wordmark-main{
    font-size:1.44rem!important;
  }

  .mg-wordmark-sub{
    font-size:.54rem!important;
    letter-spacing:.19em!important;
  }
}

@media (max-width:560px){
  .site-header .site-branding::after{
    display:none!important;
  }

  .mg-wordmark-main{
    font-size:1.24rem!important;
  }

  .mg-wordmark-sub{
    font-size:.48rem!important;
    letter-spacing:.15em!important;
  }
}

/* =========================================================
   Marrakech Gold 1.6 — independent WooCommerce carousel
   ========================================================= */

/*
 * Once JS creates our gallery, hide every visible part of
 * WooCommerce/FlexSlider. Native links remain in the DOM and
 * are still used for PhotoSwipe/lightbox.
 */
.single-product .woocommerce-product-gallery.mg-custom-gallery-active > .flex-viewport,
.single-product .woocommerce-product-gallery.mg-custom-gallery-active > .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery.mg-custom-gallery-active > .flex-control-nav,
.single-product .woocommerce-product-gallery.mg-custom-gallery-active > .flex-control-thumbs,
.single-product .woocommerce-product-gallery.mg-custom-gallery-active > .woocommerce-product-gallery__trigger,
.single-product .woocommerce-product-gallery.mg-custom-gallery-active > .mg-gallery-controls,
.single-product .woocommerce-product-gallery.mg-custom-gallery-active > .mg-gallery-counter{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  opacity:0!important;
  pointer-events:none!important;
  margin:0!important;
  padding:0!important;
}

/* Main gallery container */
.single-product .woocommerce-product-gallery.mg-custom-gallery-active{
  width:51%!important;
  padding:14px 14px 15px!important;
  overflow:visible!important;
  border-radius:30px!important;
  border:1px solid rgba(67,83,72,.11)!important;
  background:
    radial-gradient(circle at 8% 5%,rgba(198,151,69,.08),transparent 25%),
    rgba(255,255,255,.92)!important;
  box-shadow:0 24px 58px rgba(38,45,40,.09)!important;
}

.mg-custom-gallery{
  width:100%;
}

/* Selected image stage */
.mg-carousel-stage{
  position:relative;
  width:100%;
  min-height:0;
  aspect-ratio:4/3;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:23px;
  background:
    radial-gradient(circle at 25% 15%,rgba(198,151,69,.07),transparent 30%),
    linear-gradient(145deg,#f6f2ea,#ebe8e1);
  box-shadow:inset 0 0 0 1px rgba(67,83,72,.035);
}

.mg-carousel-image-button{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:23px!important;
  overflow:hidden;
  background:transparent!important;
  cursor:zoom-in;
}

.mg-carousel-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  opacity:1!important;
  filter:none!important;
  transform:scale(1)!important;
  transition:opacity .18s ease, transform .3s ease!important;
  user-select:none;
  -webkit-user-drag:none;
}

.mg-carousel-image.is-changing{
  opacity:.18!important;
  transform:scale(.995)!important;
}

/* Subtle zoom indicator */
.mg-carousel-zoom{
  position:absolute;
  left:17px;
  top:17px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#314038;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 9px 24px rgba(38,45,40,.10);
  backdrop-filter:blur(10px);
  font-family:var(--mg-body-font);
  font-size:1.3rem;
  pointer-events:none;
}

/* Prev / next */
.mg-carousel-nav{
  position:absolute;
  z-index:4;
  top:50%;
  width:48px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.80)!important;
  border-radius:16px!important;
  color:#314038!important;
  background:rgba(255,255,255,.91)!important;
  box-shadow:0 11px 28px rgba(38,45,40,.12)!important;
  backdrop-filter:blur(11px);
  font-family:var(--mg-body-font)!important;
  font-size:2rem!important;
  font-weight:400!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:transform .18s ease, background .18s ease, color .18s ease!important;
}

.mg-carousel-prev{ left:13px; }
.mg-carousel-next{ right:13px; }

.mg-carousel-nav:hover{
  color:#fff!important;
  background:linear-gradient(135deg,#314038,#506256)!important;
  transform:translateY(-50%) scale(1.06)!important;
}

.mg-carousel-counter{
  position:absolute;
  z-index:4;
  top:17px;
  right:17px;
  min-width:60px;
  height:34px;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  color:#314038;
  background:rgba(255,255,255,.91);
  border:1px solid rgba(255,255,255,.76);
  box-shadow:0 8px 22px rgba(38,45,40,.09);
  backdrop-filter:blur(10px);
  font-size:.75rem;
  font-weight:800;
}

/* Thumbnail rail */
.mg-carousel-thumb-shell{
  position:relative;
  width:100%;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 34px;
  align-items:center;
  gap:8px;
  margin-top:18px;
}

.mg-carousel-thumbs{
  min-width:0;
  display:flex;
  flex-wrap:nowrap;
  gap:10px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:3px 2px 7px;
  scroll-behavior:smooth;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
}

.mg-carousel-thumbs::-webkit-scrollbar{
  display:none;
}

.mg-carousel-thumb{
  position:relative;
  flex:0 0 76px;
  width:76px!important;
  height:76px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden;
  border:2px solid transparent!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 8px 19px rgba(38,45,40,.07)!important;
  cursor:pointer!important;
  scroll-snap-align:center;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease!important;
}

.mg-carousel-thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1!important;
  filter:none!important;
  border-radius:12px!important;
}

.mg-carousel-thumb:hover{
  transform:translateY(-2px);
  border-color:rgba(198,151,69,.42)!important;
  box-shadow:0 12px 24px rgba(38,45,40,.11)!important;
}

.mg-carousel-thumb.is-active{
  border-color:#c69745!important;
  box-shadow:
    0 0 0 3px rgba(198,151,69,.13),
    0 11px 24px rgba(38,45,40,.10)!important;
}

.mg-thumb-scroll{
  width:34px!important;
  height:42px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(67,83,72,.10)!important;
  border-radius:12px!important;
  color:#314038!important;
  background:#fff!important;
  box-shadow:0 7px 17px rgba(38,45,40,.06)!important;
  font-size:1.4rem!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:background .18s ease,color .18s ease,transform .18s ease!important;
}

.mg-thumb-scroll:hover{
  color:#fff!important;
  background:#435348!important;
  transform:translateY(-1px);
}

/* Product summary remains unchanged */
.single-product .woocommerce div.product .summary{
  align-self:flex-start;
}

/* Responsive gallery */
@media (max-width:980px){
  .single-product .woocommerce-product-gallery.mg-custom-gallery-active{
    width:100%!important;
  }
}

@media (max-width:720px){
  .single-product .woocommerce-product-gallery.mg-custom-gallery-active{
    padding:9px 9px 11px!important;
    border-radius:22px!important;
  }

  .mg-carousel-stage{
    aspect-ratio:1/1;
    border-radius:17px;
  }

  .mg-carousel-image-button{
    border-radius:17px!important;
  }

  .mg-carousel-nav{
    width:42px!important;
    height:42px!important;
    border-radius:14px!important;
    font-size:1.7rem!important;
  }

  .mg-carousel-prev{ left:9px; }
  .mg-carousel-next{ right:9px; }

  .mg-carousel-counter{
    top:11px;
    right:11px;
    height:30px;
    min-width:54px;
    font-size:.68rem;
  }

  .mg-carousel-zoom{
    top:11px;
    left:11px;
    width:38px;
    height:38px;
    border-radius:12px;
  }

  .mg-carousel-thumb-shell{
    grid-template-columns:28px minmax(0,1fr) 28px;
    gap:6px;
    margin-top:13px;
  }

  .mg-carousel-thumb{
    flex-basis:64px;
    width:64px!important;
    height:64px!important;
    border-radius:12px!important;
  }

  .mg-thumb-scroll{
    width:28px!important;
    height:38px!important;
    border-radius:10px!important;
  }
}

/* =========================================================
   Marrakech Gold 1.7 — Booking-style description & amenities
   ========================================================= */

/* Reviews removed: the lone Woo tab navigation is unnecessary */
.single-product .woocommerce-tabs > ul.tabs{
  display:none!important;
}

.single-product .woocommerce-tabs{
  width:100%!important;
  max-width:none!important;
  margin:70px 0 0!important;
  padding:0!important;
}

.single-product .woocommerce-tabs .panel{
  margin:0!important;
  padding:0!important;
}

.single-product .woocommerce-tabs .panel > h2:first-child{
  display:none!important;
}

.mg-description-panel{
  width:100%;
}

.mg-product-details-shell{
  width:min(100%,1120px);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:54px;
}

/* ---------- Editorial description ---------- */
.mg-description-story{
  display:grid;
  grid-template-columns:minmax(220px,300px) minmax(0,1fr);
  gap:54px;
  padding:0 0 52px;
  border-bottom:1px solid rgba(67,83,72,.11);
}

.mg-description-story-head{
  align-self:start;
  position:sticky;
  top:118px;
}

.mg-detail-kicker{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  margin-bottom:15px;
  border-radius:999px;
  color:#365046;
  background:#edf2ee;
  border:1px solid rgba(67,83,72,.09);
  font-family:var(--mg-body-font);
  font-size:.67rem;
  line-height:1;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.mg-description-story-head h2,
.mg-amenities-head h2{
  margin:0;
  color:#212a25;
  font-family:var(--mg-heading-font);
  font-size:clamp(2rem,3.3vw,3rem);
  line-height:1.04;
  font-weight:620;
  letter-spacing:-.035em;
}

.mg-description-story-head p,
.mg-amenities-head p{
  margin:14px 0 0;
  color:#767b77;
  font-size:.94rem;
  line-height:1.65;
}

.mg-description-copy{
  max-width:760px;
  padding-top:4px;
  color:#4b514d;
  font-size:1.02rem;
  line-height:1.82;
}

.mg-description-copy p{
  margin:0 0 22px!important;
}

.mg-description-copy p:last-child{
  margin-bottom:0!important;
}

.mg-description-copy strong{
  color:#26332c;
  font-weight:760;
}

/* ---------- Amenities ---------- */
.mg-amenities-section{
  width:100%;
}

.mg-amenities-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:27px;
}

.mg-amenities-head > div{
  max-width:680px;
}

.mg-amenities-count{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  color:#765526;
  background:#fbf4e8;
  border:1px solid rgba(198,151,69,.16);
  font-family:var(--mg-body-font);
  font-size:.78rem;
  font-weight:800;
}

.mg-amenities-grid{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px!important;
}

.mg-amenity-card{
  min-width:0;
  min-height:78px;
  display:flex!important;
  align-items:center;
  gap:14px;
  margin:0!important;
  padding:14px 16px!important;
  border:1px solid rgba(67,83,72,.10);
  border-radius:17px;
  color:#303833;
  background:#fff;
  box-shadow:0 7px 20px rgba(38,45,40,.035);
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    background .18s ease;
}

.mg-amenity-card::marker{
  content:"";
}

.mg-amenity-card:hover{
  transform:translateY(-2px);
  border-color:rgba(67,83,72,.19);
  background:#fdfdfc;
  box-shadow:0 13px 28px rgba(38,45,40,.07);
}

.mg-amenity-icon{
  flex:0 0 44px;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:13px;
  color:#3d554a;
  background:linear-gradient(145deg,#eef3ef,#f7f7f3);
  border:1px solid rgba(67,83,72,.075);
  transition:
    color .18s ease,
    background .18s ease,
    transform .18s ease;
}

.mg-amenity-card:hover .mg-amenity-icon{
  color:#fff;
  background:linear-gradient(135deg,#33463d,#52695d);
  transform:scale(1.03);
}

.mg-amenity-icon svg{
  width:22px;
  height:22px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mg-amenity-label{
  min-width:0;
  display:block;
  font-family:var(--mg-body-font);
  font-size:.91rem;
  line-height:1.35;
  font-weight:700;
}

/* A little more breathing room before the footer */
.single-product .woocommerce-tabs{
  margin-bottom:80px!important;
}

/* Tablet */
@media (max-width:980px){
  .mg-description-story{
    grid-template-columns:1fr;
    gap:27px;
  }

  .mg-description-story-head{
    position:static;
    max-width:720px;
  }

  .mg-description-copy{
    max-width:none;
  }

  .mg-amenities-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Mobile */
@media (max-width:640px){
  .single-product .woocommerce-tabs{
    margin-top:48px!important;
    margin-bottom:60px!important;
  }

  .mg-product-details-shell{
    gap:40px;
  }

  .mg-description-story{
    gap:22px;
    padding-bottom:38px;
  }

  .mg-description-story-head h2,
  .mg-amenities-head h2{
    font-size:clamp(1.75rem,9vw,2.25rem);
  }

  .mg-description-copy{
    font-size:.96rem;
    line-height:1.75;
  }

  .mg-amenities-head{
    align-items:flex-start;
    flex-direction:column;
    margin-bottom:21px;
  }

  .mg-amenities-grid{
    grid-template-columns:1fr;
    gap:9px!important;
  }

  .mg-amenity-card{
    min-height:70px;
    padding:12px 13px!important;
    border-radius:15px;
  }

  .mg-amenity-icon{
    flex-basis:40px;
    width:40px;
    height:40px;
    border-radius:12px;
  }

  .mg-amenity-icon svg{
    width:20px;
    height:20px;
  }
}

/* =========================================================
   Marrakech Gold 1.8 — direct booking checkout flow
   ========================================================= */

.single-product .single_add_to_cart_button,
.single-product .yith-wcbk-add-to-cart-button,
.single-product button[name="add-to-cart"]{
  min-width:150px!important;
  min-height:50px!important;
  padding-inline:25px!important;
  border-radius:999px!important;
  font-size:.95rem!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
}

/* =========================================================
   Marrakech Gold 1.9 — checkout reservation CTA
   ========================================================= */

.woocommerce-checkout #place_order,
.woocommerce-checkout .wc-block-components-checkout-place-order-button,
.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-button{
  min-height:52px!important;
  border:0!important;
  border-radius:999px!important;
  color:#fff!important;
  background:linear-gradient(120deg,#9b6d2b,#c99742 52%,#dfba69)!important;
  box-shadow:0 14px 30px rgba(151,103,35,.18)!important;
  font-family:var(--mg-body-font)!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
  transition:transform .18s ease, box-shadow .18s ease!important;
}

.woocommerce-checkout #place_order:hover,
.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-button:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 18px 36px rgba(151,103,35,.25)!important;
}

/* =========================================================
   Marrakech Gold 2.0 — stable checkout CTA (no DOM observer)
   ========================================================= */

/*
 * IMPORTANT:
 * Checkout Blocks is React-driven. We do NOT modify its DOM with JS.
 * The visible label is replaced purely with CSS, which cannot trigger
 * a WooCommerce re-render loop.
 */
.woocommerce-checkout .wc-block-components-checkout-place-order-button{
  position:relative!important;
}

/* Hide the WooCommerce Blocks default "Commander" label only. */
.woocommerce-checkout
.wc-block-components-checkout-place-order-button
.wc-block-components-button__text{
  font-size:0!important;
  line-height:0!important;
}

/* Stable booking wording. */
.woocommerce-checkout
.wc-block-components-checkout-place-order-button
.wc-block-components-button__text::after{
  content:"Réserver";
  display:inline-block;
  font-family:var(--mg-body-font)!important;
  font-size:.95rem!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
}

/*
 * Fallback for Checkout Block versions where the label is not wrapped
 * in .wc-block-components-button__text.
 */
.woocommerce-checkout
.wc-block-components-checkout-place-order-button:not(:has(.wc-block-components-button__text)){
  font-size:0!important;
}

.woocommerce-checkout
.wc-block-components-checkout-place-order-button:not(:has(.wc-block-components-button__text))::after{
  content:"Réserver";
  font-family:var(--mg-body-font)!important;
  font-size:.95rem!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
}

/* Preserve the premium button styling */
.woocommerce-checkout #place_order,
.woocommerce-checkout .wc-block-components-checkout-place-order-button,
.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-button{
  min-height:52px!important;
  border:0!important;
  border-radius:999px!important;
  color:#fff!important;
  background:linear-gradient(120deg,#9b6d2b,#c99742 52%,#dfba69)!important;
  box-shadow:0 14px 30px rgba(151,103,35,.18)!important;
  transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease!important;
}

.woocommerce-checkout #place_order:hover,
.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
.woocommerce-checkout .wp-block-woocommerce-checkout-actions-block .wc-block-components-button:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 18px 36px rgba(151,103,35,.25)!important;
}

/* Avoid visual glitches while WooCommerce is genuinely processing. */
.woocommerce-checkout .wc-block-components-checkout-place-order-button:disabled{
  transform:none!important;
  opacity:.62!important;
  cursor:not-allowed!important;
}

/* =========================================================
   Marrakech Gold 2.1 — single active reservation
   ========================================================= */

/* Keeps the checkout funnel visually clean when only one reservation is allowed. */
.woocommerce-checkout .wc-block-components-order-summary-item{
  border-radius:14px;
}

/* =========================================================
   Marrakech Gold 2.2 — hospitality listing + no public cart
   ========================================================= */

/* ---------- Accommodation archive ---------- */
body.post-type-archive-product .site-main.content-area,
body.woocommerce-shop .site-main.content-area{
  padding:0 0 90px!important;
  background:
    radial-gradient(circle at 8% 8%,rgba(198,151,69,.055),transparent 24%),
    radial-gradient(circle at 94% 15%,rgba(67,83,72,.045),transparent 22%),
    #fffdf9;
}

body.woocommerce-shop .woocommerce{
  width:min(calc(100% - 40px),1120px);
  margin:0 auto;
}

body.woocommerce-shop .woocommerce-products-header{
  padding:82px 0 12px;
  text-align:center;
}

body.woocommerce-shop .woocommerce-products-header__title.page-title{
  margin:0!important;
  color:#223027;
  font-family:var(--mg-heading-font)!important;
  font-size:clamp(2.6rem,5vw,4.5rem)!important;
  line-height:.98!important;
  font-weight:620!important;
  letter-spacing:-.045em!important;
}

body.woocommerce-shop .woocommerce-products-header__title.page-title::before{
  content:"Séjours à Marrakech";
  display:block;
  width:max-content;
  margin:0 auto 15px;
  padding:8px 12px;
  border:1px solid rgba(67,83,72,.09);
  border-radius:999px;
  color:#3c5449;
  background:#edf2ee;
  font-family:var(--mg-body-font);
  font-size:.68rem;
  line-height:1;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.mg-stays-intro{
  max-width:680px;
  margin:0 auto 44px;
  text-align:center;
}

.mg-stays-intro .mg-detail-kicker{
  display:none;
}

.mg-stays-intro p{
  margin:0;
  color:#727873;
  font-size:1.02rem;
  line-height:1.75;
}

body.woocommerce-shop .woocommerce-notices-wrapper:empty{
  display:none;
}

/* Accommodation grid */
body.woocommerce-shop .woocommerce ul.products{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:28px!important;
  width:min(100%,1000px);
  margin:0 auto!important;
}

body.woocommerce-shop .woocommerce ul.products li.product{
  position:relative;
  width:auto!important;
  margin:0!important;
  padding:10px 10px 20px!important;
  overflow:hidden;
  border:1px solid rgba(67,83,72,.09)!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 18px 45px rgba(38,45,40,.07)!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
}

body.woocommerce-shop .woocommerce ul.products li.product:hover{
  transform:translateY(-6px);
  border-color:rgba(67,83,72,.15)!important;
  box-shadow:0 28px 62px rgba(38,45,40,.11)!important;
}

body.woocommerce-shop .woocommerce ul.products li.product a.woocommerce-LoopProduct-link{
  display:block;
  color:inherit;
}

body.woocommerce-shop .woocommerce ul.products li.product img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/3!important;
  margin:0 0 20px!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:21px!important;
  transition:transform .4s ease!important;
}

body.woocommerce-shop .woocommerce ul.products li.product:hover img{
  transform:scale(1.018)!important;
}

body.woocommerce-shop .woocommerce ul.products li.product .woocommerce-loop-product__title{
  margin:0 12px 8px!important;
  padding:0!important;
  color:#26322b;
  font-family:var(--mg-heading-font)!important;
  font-size:clamp(1.5rem,2.3vw,2rem)!important;
  line-height:1.1!important;
  font-weight:620!important;
  letter-spacing:-.035em!important;
}

.mg-loop-property-meta{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 12px 13px;
  color:#476055;
  font-family:var(--mg-body-font);
  font-size:.68rem;
  line-height:1;
  font-weight:820;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.mg-loop-property-dot{
  color:#c69745;
}

body.woocommerce-shop .woocommerce ul.products li.product .price{
  display:block!important;
  margin:0 12px 18px!important;
  color:#996c2b!important;
  font-family:var(--mg-body-font)!important;
  font-size:1rem!important;
  font-weight:800!important;
}

body.woocommerce-shop .woocommerce ul.products li.product .price::before{
  content:"À partir de ";
  color:#7d817e;
  font-size:.77rem;
  font-weight:650;
}

body.woocommerce-shop .woocommerce ul.products li.product .button{
  width:auto!important;
  min-height:46px!important;
  margin:0 12px!important;
  padding:0 19px!important;
  border:1px solid rgba(67,83,72,.10)!important;
  border-radius:999px!important;
  color:#314139!important;
  background:#edf2ee!important;
  box-shadow:none!important;
  font-family:var(--mg-body-font)!important;
  font-size:.88rem!important;
  font-weight:800!important;
  transition:transform .18s ease,color .18s ease,background .18s ease!important;
}

body.woocommerce-shop .woocommerce ul.products li.product .button::after{
  content:" →";
  margin-left:5px;
}

body.woocommerce-shop .woocommerce ul.products li.product .button:hover{
  color:#fff!important;
  background:linear-gradient(120deg,#33463d,#566d60)!important;
  transform:translateY(-2px)!important;
}

/* Hide leftover catalogue UI in case a plugin re-injects it. */
body.woocommerce-shop .woocommerce-result-count,
body.woocommerce-shop .woocommerce-ordering{
  display:none!important;
}

/* ---------- Cart should never visually be part of this funnel ---------- */
body.woocommerce-cart .woocommerce,
body.woocommerce-cart .wp-block-woocommerce-cart{
  opacity:0;
}

/* Responsive */
@media (max-width:800px){
  body.woocommerce-shop .woocommerce{
    width:min(calc(100% - 28px),1120px);
  }

  body.woocommerce-shop .woocommerce-products-header{
    padding-top:58px;
  }

  body.woocommerce-shop .woocommerce ul.products{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }

  .mg-stays-intro{
    margin-bottom:30px;
  }
}

/* =========================================================
   Marrakech Gold 2.3 — booking checkout title
   ========================================================= */

.woocommerce-checkout .entry-title,
.woocommerce-checkout .wp-block-post-title{
  color:#223027!important;
  font-family:var(--mg-heading-font)!important;
  font-size:clamp(2.25rem,4vw,3.5rem)!important;
  line-height:1.02!important;
  font-weight:620!important;
  letter-spacing:-.04em!important;
  margin-bottom:34px!important;
}

/* =========================================================
   Marrakech Gold 2.4 — premium YITH datepicker
   ========================================================= */

/* ---------- Date fields ---------- */
.single-product .yith-wcbk-booking-form .yith-wcbk-form-section-dates,
.single-product .yith-wcbk-booking-form .yith-wcbk-form-section-date,
.single-product .yith-wcbk-booking-form .yith-wcbk-form-section{
  font-family:var(--mg-body-font)!important;
}

.single-product .yith-wcbk-booking-form .yith-wcbk-form-section-dates input,
.single-product .yith-wcbk-booking-form input.yith-wcbk-date-picker,
.single-product .yith-wcbk-booking-form input[type="text"][readonly]{
  min-height:52px!important;
  padding:0 16px!important;
  border:1px solid rgba(67,83,72,.12)!important;
  border-radius:15px!important;
  color:#2e3732!important;
  background:#fff!important;
  box-shadow:0 7px 20px rgba(38,45,40,.035)!important;
  font-family:var(--mg-body-font)!important;
  font-size:.95rem!important;
  font-weight:650!important;
  transition:
    border-color .18s ease,
    box-shadow .18s ease,
    background .18s ease!important;
}

.single-product .yith-wcbk-booking-form .yith-wcbk-form-section-dates input:hover,
.single-product .yith-wcbk-booking-form input.yith-wcbk-date-picker:hover{
  border-color:rgba(67,83,72,.25)!important;
}

.single-product .yith-wcbk-booking-form .yith-wcbk-form-section-dates input:focus,
.single-product .yith-wcbk-booking-form input.yith-wcbk-date-picker:focus{
  border-color:#435348!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(67,83,72,.08)!important;
  outline:none!important;
}

/* Date range wrapper */
.single-product .yith-wcbk-booking-form .yith-wcbk-form-section-dates{
  gap:10px!important;
}

.single-product .yith-wcbk-booking-form .yith-wcbk-form-section-dates .yith-wcbk-booking-start-date,
.single-product .yith-wcbk-booking-form .yith-wcbk-form-section-dates .yith-wcbk-booking-end-date{
  border-radius:15px!important;
}

/* ---------- Main calendar container ---------- */
.ui-datepicker,
.yith-wcbk-datepicker,
.yith-wcbk-booking-form .ui-datepicker{
  width:320px!important;
  max-width:calc(100vw - 28px)!important;
  padding:12px 12px 14px!important;
  overflow:hidden!important;
  border:1px solid rgba(67,83,72,.11)!important;
  border-radius:22px!important;
  color:#2f3933!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 24px 60px rgba(38,45,40,.16)!important;
  backdrop-filter:blur(14px);
  font-family:var(--mg-body-font)!important;
}

/* Calendar header */
.ui-datepicker .ui-datepicker-header,
.yith-wcbk-datepicker .ui-datepicker-header{
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 46px!important;
  margin:0 0 8px!important;
  border:0!important;
  border-radius:15px!important;
  color:#26332c!important;
  background:linear-gradient(180deg,#f8faf8,#f2f5f2)!important;
  font-family:var(--mg-body-font)!important;
}

.ui-datepicker .ui-datepicker-title{
  margin:0!important;
  color:#26332c!important;
  font-family:var(--mg-body-font)!important;
  font-size:.95rem!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:-.01em!important;
  text-transform:none!important;
}

/* Previous / next buttons */
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next{
  top:7px!important;
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-radius:11px!important;
  background:transparent!important;
  cursor:pointer!important;
  transition:background .18s ease,transform .18s ease!important;
}

.ui-datepicker .ui-datepicker-prev{
  left:7px!important;
}

.ui-datepicker .ui-datepicker-next{
  right:7px!important;
}

.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-next:hover{
  border:0!important;
  background:#e8eee9!important;
  transform:scale(1.04);
}

/* Replace jQuery UI sprites with clean chevrons */
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span{
  display:none!important;
}

.ui-datepicker .ui-datepicker-prev::before,
.ui-datepicker .ui-datepicker-next::before{
  content:"";
  width:8px;
  height:8px;
  display:block;
  border-top:2px solid #435348;
  border-right:2px solid #435348;
}

.ui-datepicker .ui-datepicker-prev::before{
  transform:rotate(-135deg);
  margin-left:3px;
}

.ui-datepicker .ui-datepicker-next::before{
  transform:rotate(45deg);
  margin-right:3px;
}

/* ---------- Calendar grid ---------- */
.ui-datepicker table{
  width:100%!important;
  margin:0!important;
  border-collapse:separate!important;
  border-spacing:3px!important;
  font-family:var(--mg-body-font)!important;
}

.ui-datepicker th{
  height:32px!important;
  padding:0!important;
  color:#69736d!important;
  font-size:.72rem!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
}

.ui-datepicker td{
  width:14.285%!important;
  height:38px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  text-align:center!important;
}

.ui-datepicker td a,
.ui-datepicker td span{
  width:100%!important;
  height:36px!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  border:1px solid transparent!important;
  border-radius:11px!important;
  color:#3c4540!important;
  background:transparent!important;
  font-family:var(--mg-body-font)!important;
  font-size:.83rem!important;
  line-height:1!important;
  font-weight:650!important;
  text-align:center!important;
  transition:
    background .15s ease,
    color .15s ease,
    border-color .15s ease,
    transform .15s ease!important;
}

/* Available day hover */
.ui-datepicker td a:hover{
  color:#253229!important;
  background:#edf2ee!important;
  border-color:rgba(67,83,72,.08)!important;
  transform:translateY(-1px);
}

/* Today: subtle outline only */
.ui-datepicker td.ui-datepicker-today a,
.ui-datepicker td.ui-datepicker-today span{
  color:#7f5a27!important;
  border-color:rgba(198,151,69,.38)!important;
  background:#fbf5e9!important;
  box-shadow:inset 0 0 0 1px rgba(198,151,69,.04)!important;
}

/* Selected start/end day */
.ui-datepicker td a.ui-state-active,
.ui-datepicker td.ui-datepicker-current-day a,
.ui-datepicker td.yith-wcbk-date-picker--selected-date a,
.ui-datepicker td.yith-wcbk-date-picker-selected a{
  color:#fff!important;
  border-color:#435348!important;
  background:linear-gradient(135deg,#33463d,#50665a)!important;
  box-shadow:0 7px 16px rgba(67,83,72,.18)!important;
  font-weight:800!important;
  transform:none!important;
}

/* Range days, depending on YITH version */
.ui-datepicker td.yith-wcbk-date-picker--in-range a,
.ui-datepicker td.yith-wcbk-date-picker-in-range a,
.ui-datepicker td.ui-datepicker-days-cell-over a{
  color:#2d3a33!important;
  background:#eaf0eb!important;
  border-color:transparent!important;
}

/* Highlight often used by YITH for the second selected date */
.ui-datepicker td a.ui-state-highlight:not(.ui-state-active){
  color:#7d5928!important;
  border-color:rgba(198,151,69,.30)!important;
  background:#fbf3e4!important;
}

/* Disabled / unavailable days */
.ui-datepicker td.ui-state-disabled,
.ui-datepicker td.yith-wcbk-date-picker--disabled,
.ui-datepicker td.yith-wcbk-date-picker-disabled{
  opacity:1!important;
}

.ui-datepicker td.ui-state-disabled span,
.ui-datepicker td.ui-state-disabled a,
.ui-datepicker td.yith-wcbk-date-picker--disabled span,
.ui-datepicker td.yith-wcbk-date-picker-disabled span{
  color:#c5c9c6!important;
  background:transparent!important;
  text-decoration:none!important;
  cursor:not-allowed!important;
}

/* ---------- Footer / clear action ---------- */
.ui-datepicker .ui-datepicker-buttonpane{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:10px 0 0!important;
  padding:10px 0 0!important;
  border-top:1px solid rgba(67,83,72,.08)!important;
  background:transparent!important;
}

.ui-datepicker .ui-datepicker-buttonpane button,
.ui-datepicker button.ui-datepicker-current,
.ui-datepicker button.ui-datepicker-close,
.yith-wcbk-datepicker button{
  min-height:38px!important;
  margin:0 4px!important;
  padding:0 16px!important;
  border:0!important;
  border-radius:999px!important;
  color:#fff!important;
  background:linear-gradient(120deg,#9b6d2b,#c99742 55%,#dcb76a)!important;
  box-shadow:0 8px 18px rgba(151,103,35,.16)!important;
  font-family:var(--mg-body-font)!important;
  font-size:.78rem!important;
  font-weight:800!important;
  text-shadow:none!important;
  cursor:pointer!important;
  transition:transform .16s ease,box-shadow .16s ease!important;
}

.ui-datepicker .ui-datepicker-buttonpane button:hover,
.yith-wcbk-datepicker button:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 11px 23px rgba(151,103,35,.22)!important;
}

/* YITH "Effacer" / reset button when rendered outside button pane */
.yith-wcbk-date-picker__clear,
.yith-wcbk-booking-form .yith-wcbk-booking-date-clear,
.yith-wcbk-booking-form .yith-wcbk-date-picker-clear{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  padding:0 16px!important;
  border:0!important;
  border-radius:999px!important;
  color:#fff!important;
  background:linear-gradient(120deg,#9b6d2b,#c99742)!important;
  font-family:var(--mg-body-font)!important;
  font-size:.78rem!important;
  font-weight:800!important;
}

/* ---------- Date separator / range arrow ---------- */
.single-product .yith-wcbk-booking-form .yith-wcbk-form-section-dates .yith-wcbk-booking-date-range-separator,
.single-product .yith-wcbk-booking-form .yith-wcbk-date-range-picker-separator{
  color:#657169!important;
  font-family:var(--mg-body-font)!important;
}

/* ---------- Mobile ---------- */
@media (max-width:560px){
  .ui-datepicker,
  .yith-wcbk-datepicker,
  .yith-wcbk-booking-form .ui-datepicker{
    width:min(330px,calc(100vw - 24px))!important;
    padding:10px 10px 12px!important;
    border-radius:19px!important;
  }

  .ui-datepicker .ui-datepicker-header{
    min-height:44px!important;
    border-radius:13px!important;
  }

  .ui-datepicker td{
    height:36px!important;
  }

  .ui-datepicker td a,
  .ui-datepicker td span{
    height:34px!important;
    border-radius:10px!important;
    font-size:.8rem!important;
  }
}

/* =========================================================
   Marrakech Gold 2.4 — YITH datepicker refresh
   ========================================================= */

/* Booking date fields */
.single-product .yith-wcbk-booking-form .yith-wcbk-form-section,
.single-product .yith-wcbk-booking-form .yith-wcbk-form-section *{
  font-family:var(--mg-body-font)!important;
}

.single-product .yith-wcbk-booking-form input[type="text"],
.single-product .yith-wcbk-booking-form input[type="search"],
.single-product .yith-wcbk-booking-form input[type="tel"],
.single-product .yith-wcbk-booking-form input[type="number"],
.single-product .yith-wcbk-booking-form input[type="date"],
.single-product .yith-wcbk-booking-form select{
  min-height:54px!important;
  padding:0 18px!important;
  border:1px solid #ddd5c7!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#fffdfa,#fffaf3)!important;
  color:#253128!important;
  font-family:var(--mg-body-font)!important;
  font-size:1rem!important;
  font-weight:650!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7)!important;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease!important;
}

.single-product .yith-wcbk-booking-form input::placeholder{
  color:#8b8c87!important;
  font-weight:550!important;
}

.single-product .yith-wcbk-booking-form input:hover,
.single-product .yith-wcbk-booking-form select:hover{
  border-color:#cfbe9a!important;
  background:#fff!important;
}

.single-product .yith-wcbk-booking-form input:focus,
.single-product .yith-wcbk-booking-form select:focus{
  outline:none!important;
  border-color:#be9549!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(190,149,73,.12), 0 10px 25px rgba(35,25,10,.06)!important;
}

/* Popup calendar shell */
.ui-datepicker,
.ui-widget.ui-widget-content,
.yith-wcbk-datepicker{
  width:min(340px, calc(100vw - 32px))!important;
  padding:14px!important;
  border:1px solid #e4dccf!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 28px 60px rgba(34,28,18,.14), 0 8px 22px rgba(34,28,18,.06)!important;
  overflow:hidden!important;
  backdrop-filter:blur(8px);
}

/* Header */
.ui-datepicker .ui-datepicker-header{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:56px!important;
  margin:0 0 10px!important;
  padding:10px 54px!important;
  border:0!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#f8f4ec,#f3eee5)!important;
  position:relative!important;
}

.ui-datepicker .ui-datepicker-title{
  color:#223027!important;
  font-family:var(--mg-heading-font)!important;
  font-size:1.12rem!important;
  line-height:1.1!important;
  font-weight:650!important;
  letter-spacing:-.02em!important;
  text-transform:none!important;
}

/* Prev / next arrows */
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #e3dccf!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#314139!important;
  cursor:pointer!important;
  transition:transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease!important;
}

.ui-datepicker .ui-datepicker-prev{left:10px!important}
.ui-datepicker .ui-datepicker-next{right:10px!important}

.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-next:hover{
  color:#fff!important;
  background:linear-gradient(135deg,#c99f4d,#9e7531)!important;
  border-color:transparent!important;
  transform:translateY(-50%) scale(1.04)!important;
  box-shadow:0 10px 22px rgba(185,147,74,.24)!important;
}

.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span{
  background-image:none!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  text-indent:0!important;
  overflow:visible!important;
  position:static!important;
  font-size:0!important;
}

.ui-datepicker .ui-datepicker-prev span::before,
.ui-datepicker .ui-datepicker-next span::before{
  display:block;
  font-size:18px;
  line-height:1;
  font-weight:800;
}

.ui-datepicker .ui-datepicker-prev span::before{content:"‹";}
.ui-datepicker .ui-datepicker-next span::before{content:"›";}

/* Calendar table */
.ui-datepicker table{
  margin:0!important;
  border-collapse:separate!important;
  border-spacing:6px!important;
}

.ui-datepicker th{
  padding:6px 0 4px!important;
  color:#69766f!important;
  font-family:var(--mg-body-font)!important;
  font-size:.8rem!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.ui-datepicker td{
  padding:0!important;
}

.ui-datepicker td span,
.ui-datepicker td a{
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  margin:0 auto!important;
  border:1px solid transparent!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#27332b!important;
  font-family:var(--mg-body-font)!important;
  font-size:.96rem!important;
  font-weight:700!important;
  text-align:center!important;
  text-decoration:none!important;
  transition:transform .16s ease, background .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease!important;
}

.ui-datepicker td a:hover{
  border-color:#dccba6!important;
  background:#fbf6ec!important;
  color:#9a702a!important;
  transform:translateY(-1px)!important;
}

.ui-datepicker td .ui-state-default{
  border:1px solid transparent!important;
}

.ui-datepicker td .ui-state-hover{
  border-color:#dccba6!important;
  background:#fbf6ec!important;
  color:#9a702a!important;
}

.ui-datepicker td .ui-state-active,
.ui-datepicker td a.ui-state-active,
.ui-datepicker td .ui-state-highlight,
.ui-datepicker td a.ui-state-highlight,
.ui-datepicker td .ui-state-current{
  color:#fff!important;
  border-color:transparent!important;
  background:linear-gradient(135deg,#c89c4a,#9b7332)!important;
  box-shadow:0 10px 20px rgba(185,147,74,.22)!important;
}

.ui-datepicker td.ui-datepicker-today a:not(.ui-state-active){
  border-color:#d8d8cf!important;
  background:#f6f7f4!important;
  color:#233127!important;
}

.ui-datepicker td.ui-datepicker-unselectable span,
.ui-datepicker td .ui-state-disabled{
  opacity:.38!important;
  background:#f7f4ee!important;
  color:#9ca39d!important;
}

/* Range/selection states used by booking plugins */
.ui-datepicker td.yith-wcbk-date-picked a,
.ui-datepicker td.yith-wcbk-date-selected a,
.ui-datepicker td.yith-wcbk-date-first-selected a,
.ui-datepicker td.yith-wcbk-date-last-selected a,
.ui-datepicker td.yith-wcbk-booking-date-picked a,
.ui-datepicker td.yith-wcbk-booking-date-selected a{
  color:#fff!important;
  background:linear-gradient(135deg,#c89c4a,#9b7332)!important;
  border-color:transparent!important;
  box-shadow:0 10px 20px rgba(185,147,74,.22)!important;
}

.ui-datepicker td.yith-wcbk-date-in-range a,
.ui-datepicker td.yith-wcbk-booking-date-in-range a,
.ui-datepicker td.ui-datepicker-current-day + td a{
  background:#f5ecdd!important;
  color:#7f622d!important;
  border-color:#ecdcb9!important;
}

/* Footer / buttons */
.ui-datepicker .ui-datepicker-buttonpane,
.yith-wcbk-booking-form .ui-datepicker-buttonpane{
  margin-top:12px!important;
  padding-top:12px!important;
  border-top:1px solid #efe7da!important;
  background:transparent!important;
}

.ui-datepicker .ui-datepicker-buttonpane button,
.yith-wcbk-booking-form .clear-selection,
.yith-wcbk-booking-form .yith-wcbk-clear-selection,
.yith-wcbk-booking-form .yith-wcbk-date-picker__clear,
.yith-wcbk-booking-form button[type="reset"]{
  min-height:42px!important;
  padding:0 18px!important;
  border:1px solid transparent!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#c89c4a,#9b7332)!important;
  color:#fff!important;
  font-family:var(--mg-body-font)!important;
  font-size:.92rem!important;
  font-weight:800!important;
  box-shadow:0 10px 24px rgba(185,147,74,.18)!important;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease!important;
}

.ui-datepicker .ui-datepicker-buttonpane button:hover,
.yith-wcbk-booking-form .clear-selection:hover,
.yith-wcbk-booking-form .yith-wcbk-clear-selection:hover,
.yith-wcbk-booking-form .yith-wcbk-date-picker__clear:hover,
.yith-wcbk-booking-form button[type="reset"]:hover{
  transform:translateY(-1px)!important;
  filter:saturate(1.04)!important;
  box-shadow:0 12px 28px rgba(185,147,74,.24)!important;
}

/* Reduce default YITH / jQuery UI chrome */
.ui-widget{
  font-family:var(--mg-body-font)!important;
}

.ui-widget-header,
.ui-widget-content,
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default{
  border-color:transparent!important;
}

/* Mobile */
@media (max-width: 640px){
  .ui-datepicker,
  .ui-widget.ui-widget-content,
  .yith-wcbk-datepicker{
    width:min(100vw - 20px, 360px)!important;
    padding:12px!important;
    border-radius:22px!important;
  }

  .ui-datepicker .ui-datepicker-header{
    min-height:52px!important;
    padding:10px 48px!important;
  }

  .ui-datepicker td span,
  .ui-datepicker td a{
    width:36px!important;
    height:36px!important;
    border-radius:12px!important;
    font-size:.93rem!important;
  }

  .single-product .yith-wcbk-booking-form input[type="text"],
  .single-product .yith-wcbk-booking-form input[type="date"],
  .single-product .yith-wcbk-booking-form select{
    min-height:52px!important;
    border-radius:15px!important;
  }
}

/* =========================================================
   Marrakech Gold 2.6 — safe rounded YITH booking form
   ========================================================= */

/*
 * IMPORTANT:
 * This version deliberately does NOT change display, grid,
 * flex, widths or the internal YITH date-range structure.
 * Only visual properties are overridden.
 */

/* ---------- Outer booking shell ---------- */
.single-product .yith-wcbk-booking-form,
.single-product .yith-wcbk-booking-form-wrapper,
.single-product .yith-wcbk-booking-product-form,
.single-product .yith-wcbk-booking-form-container{
  border:1px solid rgba(67,83,72,.09)!important;
  border-radius:26px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(198,151,69,.045),transparent 32%),
    rgba(255,253,249,.94)!important;
  box-shadow:0 18px 44px rgba(38,45,40,.05)!important;
}

/* Remove unnecessary borders from nested YITH shells only */
.single-product .yith-wcbk-booking-form .yith-wcbk-booking-form-wrapper,
.single-product .yith-wcbk-booking-form .yith-wcbk-booking-form-container,
.single-product .yith-wcbk-booking-form .yith-wcbk-form-sections,
.single-product .yith-wcbk-booking-form .yith-wcbk-form-section-wrapper{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}

/* ---------- Dates card ---------- */
.single-product .yith-wcbk-booking-form .yith-wcbk-form-section-dates,
.single-product .yith-wcbk-booking-form .yith-wcbk-booking-form-dates{
  padding:16px!important;
  border:0!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:
    inset 0 0 0 1px rgba(67,83,72,.06),
    0 8px 24px rgba(38,45,40,.025)!important;
}

/* Label */
.single-product .yith-wcbk-booking-form .yith-wcbk-form-section-dates > label,
.single-product .yith-wcbk-booking-form .yith-wcbk-booking-form-dates > label{
  margin-bottom:10px!important;
  color:#27352e!important;
  font-family:var(--mg-body-font)!important;
  font-size:.95rem!important;
  font-weight:800!important;
  letter-spacing:-.01em!important;
}

/*
 * If YITH wraps both dates in one container, only round it.
 * Do NOT change how it lays out its children.
 */
.single-product .yith-wcbk-booking-form .yith-wcbk-booking-date-range,
.single-product .yith-wcbk-booking-form .yith-wcbk-date-range-picker{
  border:1px solid rgba(67,83,72,.10)!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 7px 20px rgba(38,45,40,.035)!important;
}

/* ---------- Actual YITH date fields ---------- */
.single-product .yith-wcbk-booking-form .yith-wcbk-form-section-dates input,
.single-product .yith-wcbk-booking-form input.yith-wcbk-date-picker,
.single-product .yith-wcbk-booking-form input[type="text"][readonly]{
  min-height:52px!important;
  padding-left:16px!important;
  padding-right:16px!important;
  border-color:rgba(67,83,72,.09)!important;
  border-radius:15px!important;
  color:#344039!important;
  background:#fff!important;
  box-shadow:none!important;
  font-family:var(--mg-body-font)!important;
  font-size:.94rem!important;
  font-weight:700!important;
  text-overflow:ellipsis!important;
  transition:
    border-color .18s ease,
    background .18s ease,
    box-shadow .18s ease!important;
}

.single-product .yith-wcbk-booking-form .yith-wcbk-form-section-dates input:hover,
.single-product .yith-wcbk-booking-form input.yith-wcbk-date-picker:hover{
  border-color:rgba(67,83,72,.22)!important;
  background:#fdfefd!important;
}

.single-product .yith-wcbk-booking-form .yith-wcbk-form-section-dates input:focus,
.single-product .yith-wcbk-booking-form input.yith-wcbk-date-picker:focus{
  outline:none!important;
  border-color:#607067!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(67,83,72,.075)!important;
}

/* Start/end wrappers: radius only, no sizing/layout changes */
.single-product .yith-wcbk-booking-start-date,
.single-product .yith-wcbk-booking-end-date{
  border-radius:15px!important;
}

/* Separator/arrow: keep YITH mechanics, just modernize color */
.single-product .yith-wcbk-booking-date-range-separator,
.single-product .yith-wcbk-date-range-picker-separator{
  color:#67736c!important;
  font-family:var(--mg-body-font)!important;
}

/* Validation message */
.single-product .yith-wcbk-booking-form .yith-wcbk-booking-form-error,
.single-product .yith-wcbk-booking-form .yith-wcbk-booking-form-message,
.single-product .yith-wcbk-booking-form .yith-wcbk-validation-error,
.single-product .yith-wcbk-booking-form .yith-wcbk-form-error{
  margin-top:9px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-family:var(--mg-body-font)!important;
  font-size:.83rem!important;
  font-weight:650!important;
}

/* Booking CTA */
.single-product .yith-wcbk-booking-form .single_add_to_cart_button,
.single-product .yith-wcbk-booking-form .yith-wcbk-add-to-cart-button{
  min-width:150px!important;
  min-height:50px!important;
  margin-top:14px!important;
  padding:0 24px!important;
  border-radius:999px!important;
  color:#fff!important;
  background:linear-gradient(120deg,#9b6d2b,#c99742 52%,#ddb866)!important;
  box-shadow:0 12px 27px rgba(151,103,35,.17)!important;
}

/* ---------- Mobile ---------- */
@media (max-width:560px){
  .single-product .yith-wcbk-booking-form,
  .single-product .yith-wcbk-booking-form-wrapper,
  .single-product .yith-wcbk-booking-product-form,
  .single-product .yith-wcbk-booking-form-container{
    border-radius:21px!important;
  }

  .single-product .yith-wcbk-booking-form .yith-wcbk-form-section-dates,
  .single-product .yith-wcbk-booking-form .yith-wcbk-booking-form-dates{
    padding:12px!important;
    border-radius:17px!important;
  }

  .single-product .yith-wcbk-booking-form .yith-wcbk-booking-date-range,
  .single-product .yith-wcbk-booking-form .yith-wcbk-date-range-picker{
    border-radius:15px!important;
  }

  .single-product .yith-wcbk-booking-form .yith-wcbk-form-section-dates input,
  .single-product .yith-wcbk-booking-form input.yith-wcbk-date-picker,
  .single-product .yith-wcbk-booking-form input[type="text"][readonly]{
    min-height:50px!important;
    padding-left:11px!important;
    padding-right:11px!important;
    border-radius:13px!important;
    font-size:.86rem!important;
  }
}
