/* ==========================================================================
   KIN VITAL GROUP — Per-module / per-section refinements
   Each block below elevates one specific module of the site.
   All gated on html.js-enhanced. Uses real builder classes only.
   ========================================================================== */

/* === SECTION TITLES ===================================================== */
/* Adds a centered gold flourish (line · diamond · line) under every
   top-level section headline: "RITZ CARLTON RESIDENCE", "Private Selection",
   "FAQ's", etc. Scoped to direct children of <main> so accordion triggers
   (which reuse .ed-headline) are untouched.                                */
html.js-enhanced main > .ed-headline.custom-theme{padding-bottom:6px;}
html.js-enhanced main > .ed-headline.custom-theme::after{
  content:"";display:block;height:10px;width:132px;margin:20px auto 0;
  background:
    radial-gradient(circle at center,var(--kvg-gold-bright) 0 3px,transparent 3.6px) center/10px 10px no-repeat,
    linear-gradient(var(--kvg-gold),var(--kvg-gold)) left center/52px 1px no-repeat,
    linear-gradient(var(--kvg-gold),var(--kvg-gold)) right center/52px 1px no-repeat;
  opacity:.9;}

/* === GOLD ACCENT / EYEBROW TEXT ======================================== */
html.js-enhanced .color-secondary{text-shadow:0 0 24px rgba(194,164,109,.18);}

/* === STATEMENT SECTIONS (Vision / Mission — full-width parallax) ======== */
html.js-enhanced main > [class*="bg-wrapper"]{position:relative;isolation:isolate;}
html.js-enhanced main > [class*="bg-wrapper"]::after{           /* cinematic depth */
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.34),rgba(0,0,0,.10) 42%,rgba(0,0,0,.46));}
html.js-enhanced main > [class*="bg-wrapper"]::before{          /* inset gold frame */
  content:"";position:absolute;inset:24px;z-index:1;pointer-events:none;
  border:1px solid rgba(194,164,109,.34);
  transition:inset .8s var(--kvg-ease),border-color .8s ease;}
html.js-enhanced main > [class*="bg-wrapper"]:hover::before{inset:16px;border-color:rgba(194,164,109,.55);}
html.js-enhanced main > [class*="bg-wrapper"] > .inner,
html.js-enhanced main > [class*="bg-wrapper"] > *:not(.background-image-holder){position:relative;z-index:2;}

/* === TEXT + IMAGE OVERLAY SECTIONS (Ritz, Key Characteristics) ========== */
/* Refined image: rounded, deep shadow, thin gold outline on hover.        */
html.js-enhanced [class*="preset-text-image"] .ed-image img{
  border-radius:4px;box-shadow:0 24px 60px -26px rgba(0,0,0,.55);
  transition:transform 1.1s var(--kvg-ease),box-shadow .6s ease,outline-color .6s ease;
  outline:0 solid rgba(194,164,109,0);outline-offset:6px;}
html.js-enhanced [class*="preset-text-image"] .ed-image:hover img{
  outline:1px solid rgba(194,164,109,.6);}

/* === FEATURE BOXES (Architectural Concept / Living / Penthouses) ======== */
html.js-enhanced .boxes-box{
  position:relative;border-top:2px solid transparent;border-radius:3px;
  transition:transform .55s var(--kvg-ease),box-shadow .55s ease,border-color .55s ease,background-color .55s ease;}
html.js-enhanced .boxes-box::before{
  content:"";position:absolute;left:0;top:-2px;height:2px;width:0;background:var(--kvg-gold);
  transition:width .6s var(--kvg-ease);}
html.js-enhanced .boxes-box:hover{
  transform:translateY(-9px);box-shadow:0 24px 50px -22px rgba(0,0,0,.5);}
html.js-enhanced .boxes-box:hover::before{width:100%;}
html.js-enhanced .boxes-icon{transition:transform .55s var(--kvg-ease),color .4s ease;}
html.js-enhanced .boxes-box:hover .boxes-icon{transform:translateY(-3px) scale(1.14);color:var(--kvg-gold-light);}

/* === PROPERTY CARDS — extra polish ===================================== */
html.js-enhanced .realEstate--name{transition:color .4s ease,letter-spacing .4s ease;}
html.js-enhanced .realEstate--name::after{
  content:" →";color:var(--kvg-gold-light);opacity:0;margin-left:0;
  transition:opacity .4s ease,margin-left .4s var(--kvg-ease);}
html.js-enhanced .realEstate--box:hover .realEstate--name::after,
html.js-enhanced .real-estate-box:hover .realEstate--name::after{opacity:1;margin-left:6px;}
/* subtle gradient at the foot of each card image for depth */
html.js-enhanced .realEstate--box .ed-image,
html.js-enhanced .real-estate-box .ed-image{position:relative;}
html.js-enhanced .realEstate--box .ed-image::after,
html.js-enhanced .real-estate-box .ed-image::after{
  content:"";position:absolute;inset:auto 0 0 0;height:38%;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.28));
  opacity:.75;transition:opacity .5s ease;}
html.js-enhanced .realEstate--box:hover .ed-image::after{opacity:.45;}

/* === FAQ ACCORDION ===================================================== */
html.js-enhanced .accordion-trigger{border-top:1px solid rgba(168,144,85,.26);transition:background-color .35s ease;}
html.js-enhanced .accordion-trigger:hover{background:rgba(194,164,109,.06);}
html.js-enhanced .accordion-trigger a{
  position:relative;display:block;padding-top:6px!important;padding-bottom:6px!important;
  transition:color .3s ease,padding-left .35s var(--kvg-ease);}
html.js-enhanced .accordion-trigger a:hover{color:var(--kvg-gold-light);padding-left:10px!important;}
/* recolour the builder's native chevron indicator to gold on the open item */
html.js-enhanced .accordion-trigger a[aria-expanded="true"]{color:var(--kvg-gold-light);}

/* === CONTACT FORM ====================================================== */
html.js-enhanced form input[type="text"],
html.js-enhanced form input[type="email"],
html.js-enhanced form input[type="tel"],
html.js-enhanced form input[type="number"],
html.js-enhanced form textarea{
  transition:border-color .35s ease,box-shadow .35s ease,background-color .35s ease!important;}
html.js-enhanced form input[type="text"]:focus,
html.js-enhanced form input[type="email"]:focus,
html.js-enhanced form input[type="tel"]:focus,
html.js-enhanced form input[type="number"]:focus,
html.js-enhanced form textarea:focus{
  border-color:var(--kvg-gold-light)!important;
  box-shadow:0 0 0 3px rgba(194,164,109,.16)!important;outline:none!important;}
html.js-enhanced form input::placeholder,
html.js-enhanced form textarea::placeholder{transition:color .35s ease,transform .35s ease;}
html.js-enhanced form input:focus::placeholder,
html.js-enhanced form textarea:focus::placeholder{color:var(--kvg-gold-light);}

/* === INFO BAR (address / phone / email) ================================ */
html.js-enhanced [class*="info-bar"] a{transition:color .3s ease;}
html.js-enhanced [class*="info-bar"] a:hover{color:var(--kvg-gold-bright);}

/* === FOOTER — nav links + quote ======================================== */
html.js-enhanced [class*="footer"] a{position:relative;transition:color .3s ease;}
html.js-enhanced [class*="footer"] a:hover{color:var(--kvg-gold-light);}
html.js-enhanced .footer-saga-content{position:relative;}
