/*
Theme Name: Hello Elementor Child - Filomare
Template: hello-elementor
Description: Child theme for Filomare Oia Suites. Holds custom.css and any brand-specific tweaks.
Version: 1.0.0
Text Domain: filomare-child
*/

/*
Type system. Sizes/line-heights are in em, based on a 16px root (browser default).
Letter-spacing follows the Adobe/Figma "tracking" convention (value / 1000 = em).
Bound to real tags (not Elementor's internal classes) so widgets need no inline typography
settings. The accordion title is set to render as h5 and tab content as <p> for the same reason;
the nav menu and button widgets always emit their own elementor-* class on the <a>, so those
are scoped through our own .site-nav / .btn wrapper class instead of touching Elementor's class.
*/

h1, h2 {
    font-family: 'IvyMode'!important;
    font-weight: 300!important;
    font-size: 3.5625em;
    line-height: 1.1228em;
    letter-spacing: 0;
    text-transform: uppercase;
    color: #000000!important;
    margin: 0;
}

h5 {
    font-family: 'Plus Jakarta Sans', sans-serif!important;
    font-weight: 700;
    font-size: 1.3125em;
    line-height: 0.8095em;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #D1B58D!important;
    margin: 0;
}

p,li {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 300;
    font-size: 1.1em!important;
    line-height: 1.7895em;
    letter-spacing: 0.04em;
    color: #000000;
}


.site-nav a {
    font-family: 'Plus Jakarta Sans', sans-serif!important;
    font-weight: 700;
    font-size: 0.7em!important; 
    line-height: 0.8095em;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #000000;
}

.btn a {
    font-family: 'IvyMode', serif!important;
    font-weight: 400;
    font-size: 1.1875em;
    line-height: 0.9474em;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background-color: #6D8C9C!important;
    color: #FFFFFF!important;
    border-radius: 0;
    padding: 0.7em 1.6em;
    transition: background-color 0.2s ease;
    text-transform: uppercase;
}

.btn a:hover {
    background-color: #5a7886!important;
    color: #FFFFFF;
}

.btn_gold a {
    font-family: 'IvyMode', serif!important;
    font-weight: 400;
    font-size: 1.1875em;
    line-height: 0.9474em;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background-color: transparent!important;
    color: #D1B58D!important;
    border: 1px solid #D1B58D;
    border-radius: 100em;
    padding: 0.7em 1.6em;
    transition: background-color 0.2s ease;
    text-transform: uppercase;
}

.btn_gold a:hover {
    background-color: #D1B58D!important;
    color: #FFFFFF!important;
}

.text-white,
.text-white h1, .text-white h2, .text-white h5, .text-white p {
    color: #FFFFFF!important;
}

/*homepage*/

.see_more > div {
    background: #fff;
    border-radius:100%;
    height: 250px!important;
    width: 250px!important;
    display: flex!important;
    justify-content: center!important;
    align-items: center!important;

}
.see_more div h5 {
    font-family:  'IvyMode', serif!important;
    color: #000!important;
}

.facilities{
    max-width:1400px;
    margin:auto;
    border-radius:30px;
    overflow:hidden;
}

.facility{
    position:relative;
    height:95px;
    overflow:hidden;
    cursor:pointer;
    transition:height .7s cubic-bezier(.4,0,.2,1);
}

.facility.active{
    height:640px;
}
.facility.small.active {
    height: 400px;
}
.facility img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .8s ease;
}

.facility:hover img{
    transform:scale(1.03);
}

.facility::before{
    content:'';
    position:absolute;
    inset:0;
    z-index:1;

    background:linear-gradient(
        90deg,
        rgba(0,0,0,.30) 0%,
        rgba(0,0,0,.12) 40%,
        rgba(0,0,0,0) 100%
    );
}

.facilitiescontent{
    position:absolute;
    inset:0;
    z-index:2;
    display:flex;
    align-items:flex-start;
    padding:40px 55px;
}

.facilitiescontent h3{
    color:#fff;
    font-size:48px;
    font-weight:300;
    letter-spacing:.02em;
    text-transform:uppercase;
    line-height:1;
    font-family: 'IvyMode', serif!important;;
}

.facility:not(.active) .facilitiescontent{
    align-items:center;
    padding-top:0;
    padding-bottom:0;
}

.facility:not(.active) h3{
    font-size:36px;
}

@media(max-width:1024px){

    .facility{
        height:85px;
    }

    .facility.active{
        height:280px;
    }

    .facilitiescontent{
        padding:25px 30px;
    }

    .facilitiescontent h3{
        font-size:28px;
    }

    .facility:not(.active) h3{
        font-size:22px;
    }

}

@media(max-width:767px){

   

    .facilities{
        border-radius:20px;
    }

    .facility{
        height:70px;
    }

    .facility.active{
        height: 220px!important;
    }

    .facilitiescontent{
        padding:20px;
    }

    .facilitiescontent h3{
        font-size:22px;
    }
 
    .facility:not(.active) h3{
        font-size:18px;
    }

}
.whitetobeige_gradient {
background: #F5F4F2;
background: linear-gradient(0deg, rgba(245, 244, 242, 1)45%, rgba(255, 255, 255, 1) 45%);
}
.beigetowhite_gradient {
    background: #FFF;
background: linear-gradient(0deg, rgba(255, 255, 255, 1) 35%, rgba(245, 244, 242, 1) 35%);
}


.sndg{
  --sndg-gold:#b8884a;
  --sndg-gold-deep:#8a6334;
  --sndg-gold-line:rgba(184,136,74,.9);
  --sndg-paper:#fbf9f5;
  --sndg-title-ink:#f3efe7;
  --sndg-radius:22px;
  --sndg-media-h: 600px;
  --sndg-label-h:90px;
  --sndg-w-collapsed:122px;
  --sndg-w-open: 630px;
  --sndg-overlap:26px;
  --sndg-frame-left:92px;
  --sndg-border-top:-16px;
  --sndg-ease:cubic-bezier(.16,.84,.44,1);
  --sndg-speed:.6s;
  display:flex;
  justify-content:center;
  padding:60px 16px;
  padding-top: 0;
  font-family:'IvyMode', serif!important;
  width: 100%;
  max-width: 100%;
}
.sndg *{ box-sizing:border-box; }

.sndg__stage{ position:relative; padding-top:38px; max-width:100%; }
.sndg__bg{
  position:absolute; top:-34px; left:50%; transform:translateX(-50%);
  font-size:clamp(70px,14vw,165px); font-weight:500; letter-spacing:.02em;
  color:#ece4d6; line-height:1; white-space:nowrap; user-select:none; pointer-events:none; z-index:0;
}
.sndg__row{
  position:relative; z-index:1; display:flex; align-items:flex-start;
  width:calc(var(--sndg-w-open) + var(--sndg-w-collapsed) * 3 - var(--sndg-overlap) * 3);
  max-width:100%;
}
.sndg__card{
  position:relative; flex:0 0 auto; width:var(--sndg-w-collapsed);
  margin-left:calc(var(--sndg-overlap) * -1); text-decoration:none;
  transition:width var(--sndg-speed) var(--sndg-ease);
}
.sndg__card:first-child{ margin-left:0; }
.sndg__card:nth-child(1){ z-index:1; }
.sndg__card:nth-child(2){ z-index:2; }
.sndg__card:nth-child(3){ z-index:3; }
.sndg__card:nth-child(4){ z-index:4; }

.sndg__media{
  position:relative; height:var(--sndg-media-h);
  border-radius:var(--sndg-radius); overflow:hidden;
  transition:border-radius var(--sndg-speed) var(--sndg-ease);
}
.sndg__img{
  position:absolute;
  inset:0;
  width:100%;
  height: 100%!important;
  object-fit:cover;
  filter:grayscale(.22) brightness(.9);
  transition:filter var(--sndg-speed) var(--sndg-ease);
}
.sndg__tint{
  position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(58,74,92,.45),rgba(70,92,116,.30) 55%,rgba(58,74,92,.5));
  mix-blend-mode:multiply; transition:opacity var(--sndg-speed) var(--sndg-ease);
}
.sndg__border{
  position:absolute;
  top:var(--sndg-border-top);
  right: 29px;
  bottom:0;
  left:var(--sndg-frame-left);
  border:1.6px solid transparent;
  border-radius:var(--sndg-radius);
  pointer-events:none;
  transition:border-color var(--sndg-speed) var(--sndg-ease);
}
.sndg__vtitle{
  position:absolute;
  left:calc(var(--sndg-w-collapsed) / 2);
  top:calc(var(--sndg-media-h) / 2);
  transform:translate(-50%,-50%) rotate(-90deg);
  white-space:nowrap;
  font-size:clamp(24px,2.4vw,32px);
  font-weight:500;
  letter-spacing:.05em;
  color:var(--sndg-title-ink);
  text-shadow:0 1px 14px rgba(30,40,50,.4);
  pointer-events:none;
  text-transform: uppercase;
}
.sndg__label{
  height:0;
  overflow:hidden;
  opacity:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:0 14px 0 var(--sndg-frame-left);
  transition:height var(--sndg-speed) var(--sndg-ease), opacity .4s var(--sndg-ease) .12s, padding var(--sndg-speed) var(--sndg-ease);
  margin-right: 38px;
}
.sndg__title{
  font-size: clamp(1.2em,1vw,16px);
  font-weight: 200;
  line-height:1.1;
  color: #D1B58D;
  /* white-space:nowrap; */
  padding-left: 20px;
  width: 200px;
}
.sndg__arrow{
  flex:0 0 auto;
  width:50px;
  height:50px;
  border-radius:50%;
  border:1.5px solid var(--sndg-gold-line);
  display:grid;
  place-items:center;
  color: #D1B58D;
  transition:transform .3s var(--sndg-ease);
}
.sndg__arrow svg{ width:20px; height:20px; }

/* open state */
.sndg__card.sndg--active{ width:var(--sndg-w-open); }
.sndg__card.sndg--active .sndg__media{ border-radius:var(--sndg-radius) var(--sndg-radius) 0 0; }
.sndg__card.sndg--active .sndg__img{ filter:grayscale(0) brightness(1.02); }
.sndg__card.sndg--active .sndg__tint{opacity:0;}
.sndg__card.sndg--active .sndg__border{border-color: #D1B58D;}
.sndg__card.sndg--active .sndg__label{ height:var(--sndg-label-h); opacity:1; padding-top:18px; }
.sndg__card.sndg--active .sndg__arrow{ transform:translateX(2px); }
.sndg__card:focus-visible{ outline:2px solid var(--sndg-gold); outline-offset:4px; border-radius:var(--sndg-radius); }

@media (max-width:820px){
  .sndg__row{ width:100%; flex-direction:column; align-items:stretch; }
  .sndg__card{width:100% !important;margin: 0 0 14px !important;}
  .sndg__vtitle{left: 150px;top:75px;transform:translate(-50%,-50%) rotate(0deg);}
  .sndg__media{ height:150px; transition:height var(--sndg-speed) var(--sndg-ease); }
  .sndg__card.sndg--active .sndg__media{ height:240px; }
  .sndg__card.sndg--active .sndg__vtitle{top:120px;left: 150px;}
  .sndg__border{ left:0; }
  .sndg__label{ padding-left:18px; }
  .sndg__bg{ font-size:clamp(50px,17vw,84px); }
}
@media (prefers-reduced-motion:reduce){ .sndg *{ transition-duration:.01ms !important; } }
/*end of homepage*/

footer h2 {
    text-transform: initial;
    color: #6d8c9c!important;
    font-weight: 400!important;
}
footer p {
    color: #6D8C9C;
}
footer a {
    color: #5a7886
}

.text_gold p {
    color: #D1B58D!important;
    font-size: 1em!important;
}

.gradient-box {
    
  background: #F5F4F2;
background: linear-gradient(90deg, rgba(245, 244, 242, 1) 80%, rgba(255, 255, 255, 1) 80%);
  border-radius: 28px 0 130px 0;   /* big radius on the bottom-right "end" */

} 
/*.gradient-box:after {
content: "";
    position: absolute;
    width: 350px;
    height: 350px;
    right: -175px;
    bottom: -175px;
    background: white;
    border-radius: 50%;
}*/

.img_overlay_title span {
    color: #fff !important;
    font-size: 2em;
    text-align: center;
    text-transform: uppercase;
    font-family: 'IvyMode' !important;
    display: block;
    font-weight: 300 !important;
} 
.hypertitle_white h5,
.title_white h2{
    color: #fff!important;
}

/* Contact Form 7 Grid */

.cf7-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 40px;
    border: 1px solid #c9ab7a;
    border-radius: 48px;
    padding: 50px 0;
    position: relative;
}

.cf7-col {
    width: 100%;
}

.cf7-full {
    grid-column: 1 / -1;
}

/* Labels */

.cf7-grid label {
    display: flex;
    font-family: 'PLUS JAKARTA SANS';
    font-size: 0.9em;
    letter-spacing: 0.03em;
    color: #000;
    margin: 0;
}

.cf7-grid .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

/* Inputs */

.cf7-grid input[type="text"],
.cf7-grid input[type="email"],
.cf7-grid input[type="tel"] {
    border-radius: 0;
    -webkit-font-smoothing: subpixel-antialiased;
    -webkit-font-smoothing: subpixel-antialiased;
    width: 100%;
    height: 80px;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #c9ab7a;
    padding: 22px 30px 12px;
    color: #2c2c2c;
    font-size: 18px;
}

.cf7-full input[type="text"] {
    height: 90px;
}

/* Textarea */

.cf7-grid textarea {
    width: 100%;
    min-height: 350px;
    background: transparent;
    border: 1px solid #c9ab7a;
    border-radius: 30px 30px 0 0;
    padding: 45px;
    color: #2c2c2c;
    font-size: 18px;
    resize: none;
    outline: none;
    box-shadow: none;
    margin-top: 15px;
    border-left: 0;
    border-right: 0;
}

/* Placeholder */

.cf7-grid input::placeholder,
.cf7-grid textarea::placeholder {
    color: #D1B58D;
    text-transform: uppercase;
    font-family: ivymode;
}

/* Submit row */

.cf7-grid .cf7-col:last-child {
    position: relative;
    margin-top: -35px;

    display: flex;
    justify-content: center;
}

/* Button */

.cf7-grid .wpcf7-submit {
    min-width: 270px;
    height: 64px;

    border-radius: 999px;

    background: #fff;
    border: 1px solid #c9ab7a;

    color: #c9ab7a;

    font-family: "Cormorant Garamond", serif;
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 0.05em;

    cursor: pointer;
    transition: all .35s ease;
}

.cf7-grid .wpcf7-submit:hover {
    background: #c9ab7a;
    color: #ffffff;
}

/* Focus */

.cf7-grid input:focus,
.cf7-grid textarea:focus {
    border-color: #b38f5b;
}

/* Validation */

.wpcf7-not-valid-tip {
    margin-top: 8px;
    font-size: 13px;
}

/* Mobile */

@media (max-width: 767px) {

    .cf7-grid {
        grid-template-columns: 1fr;
        padding: 40px 25px;
        gap: 0;
        border-radius: 32px;
    }

    .cf7-full {
        grid-column: auto;
    }

    .cf7-grid input[type="text"],
    .cf7-grid input[type="email"],
    .cf7-grid input[type="tel"] {
        height: 70px;
    }

    .cf7-grid textarea {
        min-height: 220px;
        padding: 30px;
        border-radius: 28px;
    }

    .cf7-grid .cf7-col:last-child {
        margin-top: 25px;
    }

    .cf7-grid .wpcf7-submit {
        width: 100%;
        mi