/*
Theme Name: Elite Tailoring Theme V7 (Luxury Dark)
Author: Custom Build
Version: 7.1
Text Domain: elite-tailoring
*/

:root{
  --bg:#080808;
  --bg2:#0d0d0d;
  --panel:#0f1011;
  --panel-soft:#151515;
  --text:#f5efe4;
  --muted:rgba(235,223,204,.72);
  --gold:#c8a062;
  --gold-strong:#d8b273;
  --line:rgba(200,160,98,.28);
  --line-soft:rgba(255,255,255,.09);
  --headerH:68px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  padding-top:var(--headerH);
  background:
    radial-gradient(circle at top, rgba(87,60,20,.16), transparent 30%),
    linear-gradient(180deg, #080808 0%, #0a0a0a 100%);
  color:var(--text);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:16px;
  line-height:1.65;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container{width:1220px;max-width:calc(100% - 48px);margin:0 auto}

.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  width:100%;
  z-index:999;
  background:rgba(10,10,10,.96);
  border-bottom:1px solid rgba(200,160,98,.22);
  box-shadow:0 10px 30px rgba(0,0,0,.22);
}
.admin-bar .site-header{top:32px}
.admin-bar body{padding-top:calc(var(--headerH) + 32px)}
.header-inner{
  min-height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand{font-family:'Playfair Display',serif;font-size:19px;font-weight:600;letter-spacing:1.1px;text-transform:uppercase;color:#f8f2e8}
.brand-link{display:flex;align-items:center;color:inherit}
.brand--logo img,.brand--logo .custom-logo{max-height:36px;width:auto}
.site-nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.site-nav a{
  font-size:11px;
  letter-spacing:1.05px;
  text-transform:uppercase;
  color:rgba(244,234,219,.78);
  transition:color .2s ease, opacity .2s ease;
}
.site-nav a:hover,.site-nav a.is-active{color:var(--gold-strong)}
.header-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:106px;
  padding:9px 14px;
  border-radius:3px;
  background:linear-gradient(180deg, #c9a463 0%, #b78b42 100%);
  color:#15110b !important;
  border:1px solid rgba(255,226,178,.22);
  box-shadow:0 8px 18px rgba(0,0,0,.22);
}
.header-menu-toggle{display:none;background:none;border:0;padding:0;cursor:pointer}
.header-menu-toggle span{display:block;width:24px;height:2px;background:#fff;margin:5px 0}

.hero--tailor{
  position:relative;
  min-height:540px;
  background-size:cover;
  background-position:center;
  border-bottom:1px solid rgba(200,160,98,.18);
}
.hero--tailor:before{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.80) 0%, rgba(0,0,0,.54) 40%, rgba(0,0,0,.22) 72%, rgba(0,0,0,.48) 100%),
    linear-gradient(180deg, rgba(0,0,0,.34), rgba(0,0,0,.16) 45%, rgba(0,0,0,.5) 100%);
}
.hero-shell{position:relative;z-index:2;display:flex;align-items:center;min-height:540px;padding:64px 0 72px}
.hero-copy{max-width:470px}
.hero h1{
  margin:0 0 14px;
  font-family:'Playfair Display',serif;
  font-size:56px;
  line-height:1.02;
  font-weight:600;
  letter-spacing:.2px;
  text-transform:uppercase;
  color:#fff8ef;
}
.hero .subtitle{
  margin:0 0 22px;
  font-size:18px;
  color:rgba(232,217,193,.9);
  font-family:'Cormorant Garamond',serif;
}
.hero .tagline{margin:0 0 20px;color:var(--muted)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:42px;padding:10px 20px;
  border:1px solid rgba(255,255,255,.22);
  font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn--gold{
  background:linear-gradient(180deg, #cda868 0%, #b5883e 100%) !important;
  color:#130f0b !important;
  border-color:rgba(255,226,178,.18) !important;
}
.btn--ghost{background:rgba(0,0,0,.38);color:#fbf5ec;border-color:rgba(255,255,255,.28)}

.section{padding:0;background:transparent}
.section--services-showcase{padding:22px 0 34px}
.section-kicker{
  margin:0 0 18px;
  color:var(--gold);
  font-size:24px;
  font-family:'Cormorant Garamond',serif;
  font-weight:500;
}
.service-grid--luxury{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.service-card--luxury{
  background:linear-gradient(180deg, rgba(18,18,18,.98), rgba(11,11,11,.98));
  border:1px solid rgba(200,160,98,.14);
  box-shadow:0 18px 34px rgba(0,0,0,.28);
  overflow:hidden;
}
.service-card--luxury .thumb{height:148px;overflow:hidden;background:#111}
.service-card--luxury .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.service-card--luxury:hover .thumb img{transform:scale(1.05)}
.service-card--luxury .content{padding:14px 12px 18px;text-align:center}
.service-card--luxury h3{
  display:block !important;
  margin:0 0 8px;
  font-family:'Playfair Display',serif;
  font-size:30px;
  line-height:1;
  font-weight:600;
  color:#fff4e3;
}
.service-card--luxury .intro{
  margin:0 auto;
  max-width:90%;
  font-size:11px;
  line-height:1.55;
  color:rgba(230,219,201,.68);
  text-shadow:none;
}
.tailoring-experience{
  margin-top:18px;
  padding-top:14px;
  text-align:center;
  font-family:'Cormorant Garamond',serif;
  font-size:28px;
  color:rgba(211,175,112,.82);
  border-top:1px solid rgba(200,160,98,.18);
}


.home-news{
  margin-top:30px;
  padding:28px 22px 30px;
  border:1px solid rgba(200,160,98,.16);
  background:linear-gradient(180deg, rgba(14,14,14,.96), rgba(9,9,9,.96));
  box-shadow:0 18px 34px rgba(0,0,0,.22);
}
.home-news__head{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:22px;
}
.home-news__title{
  margin:0;
  font-family:'Playfair Display',serif;
  font-size:40px;
  line-height:1.05;
  color:#fff5e7;
  text-align:center;
}
.home-news__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.home-news__card{
  min-width:0;
}
.home-news__link{
  display:flex;
  flex-direction:column;
  height:100%;
  background:linear-gradient(180deg, rgba(18,18,18,.98), rgba(11,11,11,.98));
  border:1px solid rgba(200,160,98,.12);
  overflow:hidden;
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.home-news__link:hover{
  transform:translateY(-2px);
  border-color:rgba(200,160,98,.34);
  box-shadow:0 18px 30px rgba(0,0,0,.28);
}
.home-news__thumb{
  aspect-ratio:4/3;
  background:#111;
  overflow:hidden;
}
.home-news__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}
.home-news__link:hover .home-news__thumb img{
  transform:scale(1.04);
}
.home-news__thumb--empty{
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, rgba(200,160,98,.12), rgba(255,255,255,.04));
}
.home-news__thumb-fallback{
  padding:20px;
  font-family:'Playfair Display',serif;
  font-size:20px;
  letter-spacing:.8px;
  text-align:center;
  color:rgba(255,245,231,.88);
}
.home-news__card-title{
  margin:0;
  padding:16px 16px 18px;
  font-family:'Playfair Display',serif;
  font-size:24px;
  line-height:1.25;
  color:#fff4e3;
}
.home-news__pagination{
  margin-top:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
}
.home-news__page-arrow{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(200,160,98,.24);
  background:rgba(255,255,255,.03);
  color:#fff4e3;
  font-size:22px;
  line-height:1;
  transition:background .2s ease, border-color .2s ease, transform .2s ease, opacity .2s ease;
}
.home-news__page-arrow:hover{
  background:rgba(200,160,98,.12);
  border-color:rgba(200,160,98,.4);
  transform:translateY(-1px);
}
.home-news__page-arrow.is-disabled{
  opacity:.35;
}
.home-news__page-status{
  min-width:112px;
  text-align:center;
  color:rgba(235,223,204,.72);
  font-size:14px;
}

.section--booking-panel{padding:18px 0 70px}
.booking-panel-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:22px;align-items:start}
.booking-card,
.booking-form-shell .booking-card{
  border:1px solid rgba(200,160,98,.16);
  background:linear-gradient(180deg, rgba(16,16,16,.96), rgba(10,10,10,.96));
  padding:24px;
  border-radius:0;
  box-shadow:0 16px 30px rgba(0,0,0,.24);
}
.mini-label{
  display:inline-block;
  margin-bottom:12px;
  color:var(--gold);
  font-size:11px;
  letter-spacing:1.2px;
  text-transform:uppercase;
}
.booking-card h3{margin:0 0 10px;font-family:'Playfair Display',serif;font-size:34px;line-height:1.12}
.booking-card p{margin:0;color:rgba(233,221,202,.74)}
.booking-form-shell #booking{margin:0}
.booking-form-shell .form-row{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:14px !important}
.field,
.booking-card .field{
  width:100% !important;
  display:block !important;
  padding:14px 15px !important;
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:0 !important;
  color:#fff !important;
  font-size:15px !important;
}
textarea.field,.booking-card textarea.field{min-height:140px !important;resize:vertical}
.field:focus,.booking-card .field:focus{outline:none;border-color:rgba(200,160,98,.55) !important;background:rgba(255,255,255,.06) !important}
.booking-card input::placeholder,.booking-card textarea::placeholder{color:rgba(255,255,255,.42)}
.notice{padding:10px 12px;margin:0 0 14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04)}
.form-actions{margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.booking-feedback{min-height:22px;color:rgba(255,255,255,.7)}
.booking-feedback.is-ok{color:#e8d5a6}.booking-feedback.is-err{color:#ffb7b7}

.single-wrap,.single-empty{padding:70px 0;background:transparent;color:var(--text)}
.single-wrap .container,.single-empty .container{max-width:980px}
.single-wrap h1{margin:0 0 20px;font-family:'Playfair Display',serif;font-size:44px;text-align:center;color:#fff7ec}
.single-content{font-size:17px;color:rgba(240,228,210,.84)}
.service-booking--spaced{margin-top:34px}
.site-footer{padding:26px 0 40px;border-top:1px solid rgba(200,160,98,.12);background:transparent}
.site-copyright{text-align:center;color:rgba(255,255,255,.54);font-size:13px}
.text-muted{color:rgba(255,255,255,.65)}

@media (max-width: 980px){
  :root{--headerH:62px}
  .container{max-width:calc(100% - 28px)}
  .header-inner{min-height:62px;position:relative}
  .header-menu-toggle{display:block}
  .site-nav{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:auto;
    width:min(320px,calc(100vw - 28px));
    padding:14px;
    background:rgba(10,10,10,.98);
    border:1px solid rgba(200,160,98,.18);
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    box-shadow:0 18px 34px rgba(0,0,0,.34);
  }
  .site-nav.is-open{display:flex}
  .hero--tailor,.hero-shell{min-height:420px}
  .hero h1{font-size:38px}
  .hero .subtitle{font-size:16px}
  .service-grid--luxury{grid-template-columns:1fr;gap:16px}
  .home-news{margin-top:24px;padding:22px 14px 24px}
  .home-news__title{font-size:32px}
  .home-news__grid{grid-template-columns:1fr;gap:14px}
  .home-news__card-title{padding:14px 14px 16px;font-size:22px}
  .home-news__pagination{gap:10px}
  .home-news__page-arrow{width:38px;height:38px;font-size:20px}
  .booking-panel-wrap{grid-template-columns:1fr}
  .booking-form-shell .form-row{grid-template-columns:1fr !important}
  .service-card--luxury h3{font-size:26px}
  .tailoring-experience{font-size:24px}
}

/* ===== Mobile overflow fix merged from mobile-fix build ===== */
html, body{
  max-width:100%;
  overflow-x:hidden;
}

/* Service pages: centered booking form under content */
.service-booking{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
}
.service-booking--spaced{
  margin:56px auto 0;
  padding:28px 0 8px;
}
.service-booking__inner{
  width:100%;
  max-width:760px;
  margin:0 auto;
}
body.single-service .service-booking .booking-card{
  margin:0 auto;
}

@media (max-width:980px){
  .service-booking--spaced{
    margin-top:40px;
    padding-top:20px;
  }
  .service-booking__inner{
    max-width:100%;
  }

  body.single-service{
    overflow-x:hidden;
  }

  body.single-service .single-wrap,
  body.single-service .single-empty{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  body.single-service .single-wrap .container,
  body.single-service .single-empty .container{
    width:100% !important;
    max-width:100% !important;
    padding-left:14px !important;
    padding-right:14px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow-x:hidden;
  }

  body.single-service .single-content,
  body.single-service .single-content > *,
  body.single-service .single-content .wp-block-group,
  body.single-service .single-content .wp-block-columns,
  body.single-service .single-content .wp-block-column,
  body.single-service .single-content .wp-block-media-text,
  body.single-service .single-content .wp-block-cover,
  body.single-service .single-content .wp-block-image,
  body.single-service .single-content figure,
  body.single-service .single-content div,
  body.single-service .single-content section{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  body.single-service .single-content h1,
  body.single-service .single-content h2,
  body.single-service .single-content h3,
  body.single-service .single-content h4,
  body.single-service .single-content p,
  body.single-service .single-content li,
  body.single-service .single-content blockquote{
    max-width:100% !important;
    overflow-wrap:anywhere;
    word-break:break-word;
  }

  body.single-service .single-content .alignfull,
  body.single-service .single-content .alignwide,
  body.single-service .single-content .wp-block-group,
  body.single-service .single-content .wp-block-columns,
  body.single-service .single-content .wp-block-media-text,
  body.single-service .single-content figure,
  body.single-service .single-content .wp-block-image{
    margin-left:0 !important;
    margin-right:0 !important;
  }

  body.single-service .single-content .wp-block-columns,
  body.single-service .single-content .wp-block-media-text{
    display:block !important;
    grid-template-columns:1fr !important;
  }

  body.single-service .single-content [style*="width:"],
  body.single-service .single-content [style*="max-width:"],
  body.single-service .single-content [width]{
    max-width:100% !important;
  }

  body.single-service .single-content img,
  body.single-service .single-content video,
  body.single-service .single-content iframe,
  body.single-service .single-content canvas,
  body.single-service .single-content svg,
  body.single-service .single-content .wp-block-image img{
    display:block;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
  }

  body.single-service .single-content table{
    display:block;
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
}


@media (max-width: 782px){
  .admin-bar .site-header{top:46px}
  .admin-bar body{padding-top:calc(var(--headerH) + 46px)}
}


.services-insert,
.services-insert--luxury{max-width:980px;margin:44px auto 44px;text-align:center}
.services-insert__title,
.services-insert--luxury .services-insert__title{margin:0 0 18px;color:var(--elite-text);line-height:1.2}
.services-insert__image img,
.services-insert--luxury .services-insert__image img{display:block;max-width:760px;width:100%;height:auto;margin:0 auto;border-radius:14px;box-shadow:none}
@media (max-width: 767px){
  .services-insert,
  .services-insert--luxury{margin:28px auto 32px}
  .services-insert__title,
  .services-insert--luxury .services-insert__title{margin-bottom:14px;font-size:22px !important;line-height:1.25}
}

.booking-card input[type="datetime-local"],
.booking-card input[name="preferred_datetime"]{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  color-scheme:dark;
}
.booking-card input[type="datetime-local"]::placeholder,
.booking-card input[name="preferred_datetime"]::placeholder{
  color:rgba(255,255,255,.86) !important;
  -webkit-text-fill-color:rgba(255,255,255,.86) !important;
}
.booking-card input[type="datetime-local"]::-webkit-calendar-picker-indicator,
.booking-card input[name="preferred_datetime"]::-webkit-calendar-picker-indicator{
  filter:invert(1) brightness(2.2);
  opacity:1;
  cursor:pointer;
}
.booking-card input[type="datetime-local"]::-webkit-datetime-edit,
.booking-card input[type="datetime-local"]::-webkit-datetime-edit-fields-wrapper,
.booking-card input[type="datetime-local"]::-webkit-datetime-edit-text,
.booking-card input[type="datetime-local"]::-webkit-datetime-edit-month-field,
.booking-card input[type="datetime-local"]::-webkit-datetime-edit-day-field,
.booking-card input[type="datetime-local"]::-webkit-datetime-edit-year-field,
.booking-card input[type="datetime-local"]::-webkit-datetime-edit-hour-field,
.booking-card input[type="datetime-local"]::-webkit-datetime-edit-minute-field,
.booking-card input[type="datetime-local"]::-webkit-datetime-edit-ampm-field{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
.booking-card input.is-text-placeholder[name="preferred_datetime"]{
  color:rgba(255,255,255,.86) !important;
  -webkit-text-fill-color:rgba(255,255,255,.86) !important;
}


@media (min-width: 768px){
  .booking-card input[type="datetime-local"]::-webkit-calendar-picker-indicator,
  .booking-card input[name="preferred_datetime"]::-webkit-calendar-picker-indicator{
    background:#ffffff;
    border-radius:3px;
    padding:4px;
    opacity:1 !important;
    filter:none !important;
    box-shadow:0 0 0 1px rgba(255,255,255,.18);
  }
}

/* center Our Services title */
.home-services-title, .services-title, .our-services-title, .section-services h2{ text-align:center; width:100%; }

/* force center Our Services heading */
.section--services-showcase > .container > .section-kicker,
.section--services-showcase .section-kicker{
  display:block;
  width:100%;
  text-align:center !important;
  margin-left:auto;
  margin-right:auto;
}


/* fix mobile menu full service list */
@media (max-width: 980px){
  .site-nav{
    max-height:calc(100vh - var(--headerH) - 18px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    z-index:9999;
  }
}

/* fix desktop datetime picker icon visibility */
.booking-card input[type="datetime-local"],
.booking-card input[name="preferred_datetime"]{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-size:18px 18px;
  background-position:right 14px center;
  padding-right:44px;
}

@media (min-width: 768px){
  .booking-card input[type="datetime-local"],
  .booking-card input[name="preferred_datetime"]{
    color-scheme:light;
  }
  .booking-card input[type="datetime-local"]::-webkit-calendar-picker-indicator,
  .booking-card input[name="preferred_datetime"]::-webkit-calendar-picker-indicator{
    opacity:0.01 !important;
    filter:none !important;
    background:transparent !important;
    border-radius:0;
    padding:0;
    width:38px;
    height:100%;
    margin:0;
    position:relative;
    z-index:2;
    cursor:pointer;
  }
}


/* desktop header overflow fix: keep nav from overlapping logo */
@media (min-width: 981px){
  .header-inner{
    gap:16px;
  }
  .brand{
    flex:0 0 auto;
    position:relative;
    z-index:3;
    margin-left:12px;
  }
  .brand-link,
  .brand--logo,
  .brand--logo img,
  .brand--logo .custom-logo{
    display:block;
  }
  .site-nav{
    flex:1 1 auto;
    min-width:0;
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -ms-overflow-style:none;
    gap:14px;
    padding-right:4px;
  }
  .site-nav::-webkit-scrollbar{display:none}
  .site-nav a{white-space:nowrap; flex:0 0 auto; font-size:10.5px}
  .header-cta{margin-left:6px; min-width:96px; padding:8px 12px}
}

/* datetime picker icon: show a clear white icon on pc and mobile */
.booking-card input[type="datetime-local"],
.booking-card input[name="preferred_datetime"]{
  color-scheme:dark !important;
  background-image:none !important;
  padding-right:44px;
}
.booking-card input[type="datetime-local"]::-webkit-calendar-picker-indicator,
.booking-card input[name="preferred_datetime"]::-webkit-calendar-picker-indicator{
  opacity:1 !important;
  display:block;
  width:20px;
  height:20px;
  padding:0;
  margin:0 10px 0 0;
  cursor:pointer;
  background:transparent !important;
  border-radius:0 !important;
  filter:invert(1) brightness(3) contrast(1.4) !important;
}
.booking-card input[type="datetime-local"]::-webkit-clear-button,
.booking-card input[name="preferred_datetime"]::-webkit-clear-button,
.booking-card input[type="datetime-local"]::-webkit-inner-spin-button,
.booking-card input[name="preferred_datetime"]::-webkit-inner-spin-button{
  display:none;
}
@supports selector(input::-webkit-calendar-picker-indicator){
  .booking-card input[type="datetime-local"],
  .booking-card input[name="preferred_datetime"]{
    background-image:none !important;
  }
}


/* ===== final header + datetime fixes ===== */
.site-header .container{position:relative}
.header-inner{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:20px;
}
.brand{
  min-width:0;
  max-width:320px;
  overflow:hidden;
}
.brand-link{
  display:flex;
  align-items:center;
  white-space:nowrap;
}
.brand--logo img,
.brand--logo .custom-logo{
  max-width:100%;
  height:auto;
}
.site-nav{
  min-width:0;
  justify-content:center;
  flex-wrap:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  -ms-overflow-style:none;
  padding-bottom:2px;
}
.site-nav::-webkit-scrollbar{display:none}
.site-nav a{
  white-space:nowrap;
  flex:0 0 auto;
}
.header-cta--mobile{display:none}
.header-cta--desktop{
  flex:0 0 auto;
  white-space:nowrap;
  position:relative;
  z-index:2;
}

@media (max-width: 980px){
  .header-inner{
    grid-template-columns:auto 1fr;
    gap:14px;
  }
  .brand{
    order:2;
    max-width:none;
  }
  .header-menu-toggle{
    order:1;
    justify-self:start;
  }
  .header-cta--desktop{display:none}
  .site-nav{
    left:0;
    right:auto;
    width:min(360px, calc(100vw - 28px));
    max-height:calc(100vh - var(--headerH) - 24px);
    overflow-y:auto;
    overscroll-behavior:contain;
    z-index:1001;
  }
  .header-cta--mobile{
    display:inline-flex;
    margin-top:4px;
  }
}

/* datetime field with visible white icon on pc and mobile */
.booking-form-shell .form-row > .datetime-field{
  position:relative;
}
.booking-form-shell .form-row > .datetime-field .field{
  width:100%;
  padding-right:52px;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  color-scheme:dark !important;
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:textfield;
}
.booking-form-shell .form-row > .datetime-field::after{
  content:"";
  position:absolute;
  right:16px;
  top:50%;
  width:18px;
  height:18px;
  transform:translateY(-50%);
  pointer-events:none;
  background-repeat:no-repeat;
  background-position:center;
  background-size:18px 18px;
  opacity:.98;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3Cpath d='M12 14v4'/%3E%3Cpath d='M10 16h4'/%3E%3C/svg%3E");
}
.booking-form-shell .form-row > .datetime-field .field::-webkit-calendar-picker-indicator{
  opacity:0.01 !important;
  display:block !important;
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  width:28px;
  height:28px;
  cursor:pointer;
}
.booking-form-shell .form-row > .datetime-field .field::-webkit-clear-button,
.booking-form-shell .form-row > .datetime-field .field::-webkit-inner-spin-button{
  display:none;
}



/* ==== authoritative header + datetime fix v4 ==== */
.site-header .container{position:relative;}
.header-inner{
  position:relative;
  min-height:68px;
  display:flex !important;
  align-items:center;
  gap:16px;
}
.header-menu-toggle{display:none !important;}
.brand{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  z-index:5;
  max-width:360px;
  width:max-content;
  text-align:center;
}
.brand-link{justify-content:center;}
.site-nav{
  display:flex !important;
  align-items:center;
  justify-content:flex-start;
  gap:16px;
  flex:0 1 calc(50% - 210px);
  max-width:calc(50% - 210px);
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  white-space:nowrap;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.site-nav::-webkit-scrollbar{display:none;}
.header-cta--desktop{
  display:inline-flex !important;
  margin-left:auto;
  position:relative;
  z-index:6;
}
.header-cta--mobile{display:none !important;}

@media (max-width: 980px){
  .header-inner{
    min-height:62px;
    display:grid !important;
    grid-template-columns:40px 1fr;
    gap:12px;
  }
  .header-menu-toggle{
    display:block !important;
    position:relative;
    z-index:7;
    justify-self:start;
  }
  .brand{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    max-width:calc(100% - 110px);
    width:auto;
    z-index:6;
  }
  .brand-link{
    justify-content:center;
    text-align:center;
    font-size:18px;
  }
  .site-nav{
    display:none !important;
    position:absolute;
    top:100%;
    left:0;
    right:auto;
    width:min(360px, calc(100vw - 28px));
    max-width:calc(100vw - 28px);
    max-height:calc(100vh - var(--headerH) - 24px);
    padding:14px;
    background:rgba(10,10,10,.98);
    border:1px solid rgba(200,160,98,.18);
    box-shadow:0 18px 34px rgba(0,0,0,.34);
    overflow-y:auto;
    overflow-x:hidden;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    z-index:1002;
  }
  .site-nav.is-open{display:flex !important;}
  .header-cta--desktop{display:none !important;}
  .header-cta--mobile{
    display:inline-flex !important;
    margin-top:4px;
  }
}

.booking-form-shell .datetime-field,
.booking-card .datetime-field{
  position:relative !important;
}
.booking-form-shell .datetime-field::after,
.booking-card .datetime-field::after{
  content:"" !important;
  position:absolute !important;
  right:16px !important;
  top:50% !important;
  width:20px !important;
  height:20px !important;
  transform:translateY(-50%) !important;
  pointer-events:none !important;
  z-index:3 !important;
  opacity:1 !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:20px 20px !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3Cpath d='M12 14v5'/%3E%3Cpath d='M9.5 16.5H14.5'/%3E%3C/svg%3E") !important;
}
.booking-form-shell .datetime-field input[name="preferred_datetime"],
.booking-card .datetime-field input[name="preferred_datetime"]{
  position:relative !important;
  z-index:1 !important;
  padding-right:56px !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  color-scheme:dark !important;
}
.booking-form-shell .datetime-field input[name="preferred_datetime"]::-webkit-calendar-picker-indicator,
.booking-card .datetime-field input[name="preferred_datetime"]::-webkit-calendar-picker-indicator{
  opacity:0 !important;
  display:block !important;
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  width:54px !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  cursor:pointer !important;
}
.booking-form-shell .datetime-field input[name="preferred_datetime"]::-webkit-clear-button,
.booking-form-shell .datetime-field input[name="preferred_datetime"]::-webkit-inner-spin-button,
.booking-card .datetime-field input[name="preferred_datetime"]::-webkit-clear-button,
.booking-card .datetime-field input[name="preferred_datetime"]::-webkit-inner-spin-button{
  display:none !important;
}


/* ==== desktop services dropdown from v4 baseline ==== */
.desktop-only{display:contents}
.mobile-only{display:none !important}

@media (min-width: 981px){
  .site-nav{
    overflow:visible !important;
  }
  .site-nav > a,
  .site-nav > .services-dropdown{
    flex:0 0 auto;
  }
  .services-dropdown{
    position:relative;
    display:flex;
    align-items:center;
    padding-bottom:14px;
    margin-bottom:-14px;
  }
  .services-dropdown::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:100%;
    height:16px;
  }
  .services-toggle{
    appearance:none;
    border:0;
    background:transparent;
    padding:0;
    margin:0;
    font:inherit;
    font-size:11px;
    letter-spacing:1.05px;
    text-transform:uppercase;
    color:rgba(244,234,219,.78);
    cursor:pointer;
    transition:color .2s ease, opacity .2s ease;
  }
  .services-toggle:hover,
  .services-dropdown:hover .services-toggle,
  .services-dropdown:focus-within .services-toggle,
  .services-dropdown.is-active .services-toggle{
    color:var(--gold-strong);
  }
  .services-submenu{
    position:absolute;
    top:calc(100% + 2px);
    left:50%;
    min-width:220px;
    max-width:280px;
    transform:translateX(-50%) translateY(6px);
    padding:10px 0;
    background:rgba(10,10,10,.985);
    border:1px solid rgba(200,160,98,.22);
    box-shadow:0 18px 34px rgba(0,0,0,.34);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
    z-index:1200;
  }
  .services-submenu a{
    display:block;
    padding:10px 16px;
    white-space:nowrap;
    font-size:11px;
    letter-spacing:1.05px;
    text-transform:uppercase;
    color:rgba(244,234,219,.78);
  }
  .services-submenu a:hover,
  .services-submenu a.is-active{
    color:var(--gold-strong);
    background:rgba(255,255,255,.03);
  }
  .services-dropdown:hover .services-submenu,
  .services-dropdown:focus-within .services-submenu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateX(-50%) translateY(0);
  }
}

@media (max-width: 980px){
  .desktop-only{display:none !important}
  .mobile-only{display:inline-flex !important}
}


/* ===== 3 editable cards under HOW IT WORKS ===== */

.after-how-rows{
  margin:36px auto 0;
  width:min(1280px, calc(100% - 40px));
}
.after-how-rows__title{
  text-align:center;
  margin:0 0 26px;
  color: var(--elite-gold, #c9a04d);
}
.after-how-rows__stack{
  display:flex;
  flex-direction:column;
  gap:28px;
}
.after-how-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.after-how-card{
  display:block;
  text-decoration:none;
  color:inherit;
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
  border:1px solid rgba(201,160,77,.18);
  overflow:hidden;
}
.after-how-card--empty{
  background:transparent;
  border:none;
}
.after-how-card__media{
  aspect-ratio:16 / 11;
  overflow:hidden;
  background:#090909;
}
.after-how-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .35s ease;
}
.after-how-card__content{
  padding:18px 22px 22px;
  text-align:center;
}
.after-how-card__title{
  margin:0 0 10px;
  color:#fff7ea;
  font-family:'Playfair Display', serif;
  font-size:clamp(22px, 2vw, 30px);
  line-height:1.2;
}
.after-how-card__desc,
.after-how-card__desc p{
  margin:0;
  color:rgba(244,234,214,.86);
  line-height:1.75;
  font-size:16px;
}
.after-how-card:hover .after-how-card__media img,
.after-how-card:focus-visible .after-how-card__media img{
  transform:scale(1.03);
}
@media (max-width: 991px){
  .after-how-row{ grid-template-columns:1fr; }
  .after-how-rows{ width:min(1280px, calc(100% - 24px)); }
  .after-how-card--empty{ display:none; }
}


/* ===== WHY CHOOSE US below the 3 rows ===== */
.why-choose-luxury{
  width:min(1280px, calc(100% - 40px));
  margin:42px auto 0;
}
.why-choose-luxury__grid{
  display:grid;
  grid-template-columns:minmax(0, 1.04fr) minmax(0, 0.96fr);
  align-items:start;
  gap:40px;
}
.why-choose-luxury__media{
  background:#090909;
  overflow:hidden;
}
.why-choose-luxury__media img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}
.why-choose-luxury__content{
  padding:8px 0 0;
}
.why-choose-luxury__content--full{
  grid-column:1 / -1;
  max-width:860px;
}
.why-choose-luxury__title{
  margin:0 0 22px;
  color:#fff;
  font-size:clamp(40px, 4.2vw, 62px);
  line-height:1.02;
  letter-spacing:.01em;
  text-transform:uppercase;
}
.why-choose-luxury__desc{
  color:rgba(255,255,255,.82);
  font-size:clamp(16px, 1.5vw, 19px);
  line-height:1.72;
}
.why-choose-luxury__desc p{
  margin:0 0 1em;
}
.why-choose-luxury__desc p:last-child{
  margin-bottom:0;
}

@media (max-width: 767px){
  .why-choose-luxury{
    width:min(100%, calc(100% - 24px));
    margin:30px auto 0;
  }
  .why-choose-luxury__grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .why-choose-luxury__content{
    padding:0;
  }
  .why-choose-luxury__title{
    font-size:clamp(28px, 8vw, 42px);
  }
  .why-choose-luxury__desc{
    font-size:15px;
    line-height:1.7;
  }
}


/* ===== final menu size fixes ===== */
@media (min-width: 981px){
  .site-nav > a,
  .site-nav .services-toggle{
    font-size: 15px !important;
    letter-spacing: 0.9px !important;
  }
  .services-submenu a{
    font-size: 15px !important;
    letter-spacing: 0.9px !important;
    padding: 12px 18px !important;
  }
}
@media (max-width: 980px){
  .site-nav a,
  .site-nav .header-cta--mobile,
  .site-nav .mobile-only{
    font-size: 16px !important;
    letter-spacing: 0.8px !important;
    line-height: 1.55 !important;
  }
}


.home-news.is-loading{
  opacity:.65;
  pointer-events:none;
}
.single-article{
  width:100%;
}
.single-content,
.single-content > *,
.single-content .wp-block-group,
.single-content .wp-block-columns,
.single-content .wp-block-column,
.single-content .wp-block-media-text,
.single-content .wp-block-cover,
.single-content .wp-block-image,
.single-content figure,
.single-content div,
.single-content section{
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.single-content h1,
.single-content h2,
.single-content h3,
.single-content h4,
.single-content p,
.single-content li,
.single-content blockquote{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.single-content img,
.single-content video,
.single-content iframe,
.single-content canvas,
.single-content svg,
.single-content .wp-block-image img{
  display:block;
  max-width:100% !important;
  height:auto !important;
}
.single-content table{
  display:block;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
@media (max-width:980px){
  body.single:not(.single-service){
    overflow-x:hidden;
  }
  body.single:not(.single-service) .single-wrap,
  body.single:not(.single-service) .single-empty{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  body.single:not(.single-service) .single-wrap .container,
  body.single:not(.single-service) .single-empty .container{
    width:100% !important;
    max-width:100% !important;
    padding-left:14px !important;
    padding-right:14px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow-x:hidden;
  }
  body.single:not(.single-service) .single-wrap h1{
    font-size:32px;
  }
  body.single:not(.single-service) .single-content .wp-block-columns,
  body.single:not(.single-service) .single-content .wp-block-media-text{
    display:block !important;
    grid-template-columns:1fr !important;
  }
  body.single:not(.single-service) .single-content [style*="width:"],
  body.single:not(.single-service) .single-content [style*="max-width:"],
  body.single:not(.single-service) .single-content [width]{
    max-width:100% !important;
  }
  body.single:not(.single-service) .single-content img,
  body.single:not(.single-service) .single-content video,
  body.single:not(.single-service) .single-content iframe,
  body.single:not(.single-service) .single-content canvas,
  body.single:not(.single-service) .single-content svg,
  body.single:not(.single-service) .single-content .wp-block-image img{
    width:100% !important;
  }
}


.home-news{
  scroll-margin-top:calc(var(--headerH) + 22px);
}

.single-post-nav{
  margin:44px auto 0;
  max-width:940px;
  padding:24px 22px;
  border:1px solid rgba(200,160,98,.16);
  background:linear-gradient(180deg, rgba(16,16,16,.96), rgba(10,10,10,.96));
  box-shadow:0 16px 30px rgba(0,0,0,.22);
}

.single-post-nav__title{
  margin:0 0 18px;
  font-family:'Playfair Display',serif;
  font-size:30px;
  line-height:1.15;
  color:#fff5e7;
  text-align:center;
}
.single-post-nav__list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.single-post-nav__item{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:12px;
  border:1px solid rgba(200,160,98,.14);
  background:rgba(255,255,255,.02);
  color:rgba(245,239,228,.9);
  transition:border-color .2s ease, background .2s ease, transform .2s ease;
}

.single-post-nav__thumb{
  display:block;
  overflow:hidden;
  height:160px;
  border:1px solid rgba(200,160,98,.12);
  background:rgba(255,255,255,.03);
}

.single-post-nav__thumb img,
.single-post-nav__thumb-placeholder{
  display:block;
  width:100%;
  height:100%;
}
.single-post-nav__thumb img{
  object-fit:cover;
}
.single-post-nav__thumb-placeholder{
  background:linear-gradient(135deg, rgba(200,160,98,.14), rgba(255,255,255,.03));
}
.single-post-nav__text{
  display:block;
  line-height:1.55;
}
.single-post-nav__item:hover .single-post-nav__thumb img{
  transform:scale(1.03);
  transition:transform .28s ease;
}
.single-post-nav__item:hover{
  border-color:rgba(200,160,98,.36);
  background:rgba(200,160,98,.08);
  transform:translateY(-1px);
}

@media (max-width: 980px){
  .single-post-nav{
    margin-top:34px;
    padding:20px 14px;
  }
  .single-post-nav__title{
    font-size:24px;
  }
  .single-post-nav__list{
    grid-template-columns:1fr;
  }
  .single-post-nav__thumb{
    height:140px;
  }
}

/* Page title + content mobile fix */
.single-wrap h1{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
}

@media (max-width: 980px){
  body.page{
    overflow-x:hidden;
  }
  body.page .single-wrap,
  body.page .single-empty{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  body.page .single-wrap .container,
  body.page .single-empty .container{
    width:100% !important;
    max-width:100% !important;
    padding-left:14px !important;
    padding-right:14px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow-x:hidden;
  }
  body.page .single-wrap h1{
    font-size:24px !important;
    line-height:1.2 !important;
    margin:0 0 16px !important;
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  body.page .single-content,
  body.page .single-content > *,
  body.page .single-content .wp-block-group,
  body.page .single-content .wp-block-columns,
  body.page .single-content .wp-block-column,
  body.page .single-content .wp-block-media-text,
  body.page .single-content .wp-block-cover,
  body.page .single-content .wp-block-image,
  body.page .single-content figure,
  body.page .single-content div,
  body.page .single-content section{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  body.page .single-content h1,
  body.page .single-content h2,
  body.page .single-content h3,
  body.page .single-content h4,
  body.page .single-content p,
  body.page .single-content li,
  body.page .single-content blockquote{
    max-width:100% !important;
    overflow-wrap:anywhere;
    word-break:break-word;
  }
  body.page .single-content .alignfull,
  body.page .single-content .alignwide,
  body.page .single-content .wp-block-group,
  body.page .single-content .wp-block-columns,
  body.page .single-content .wp-block-media-text,
  body.page .single-content figure,
  body.page .single-content .wp-block-image{
    margin-left:0 !important;
    margin-right:0 !important;
  }
  body.page .single-content .wp-block-columns,
  body.page .single-content .wp-block-media-text{
    display:block !important;
    grid-template-columns:1fr !important;
  }
  body.page .single-content [style*="width:"],
  body.page .single-content [style*="max-width:"],
  body.page .single-content [width]{
    width:100% !important;
    max-width:100% !important;
  }
  body.page .single-content img,
  body.page .single-content video,
  body.page .single-content iframe,
  body.page .single-content canvas,
  body.page .single-content svg,
  body.page .single-content .wp-block-image img{
    display:block;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
  }
  body.page .single-content table{
    display:block;
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  body.page .single-post-nav{
    margin-top:34px;
    padding:20px 14px;
  }
  body.page .single-post-nav__title{
    font-size:24px;
  }
  body.page .single-post-nav__list{
    grid-template-columns:1fr;
  }
  body.page .single-post-nav__thumb{
    height:140px;
  }
}
