.elementor-2526 .elementor-element.elementor-element-fa37fae{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-2526 .elementor-element.elementor-element-d4ba394{width:100%;max-width:100%;column-gap:0px;}.elementor-2526 .elementor-element.elementor-element-d4ba394 > .elementor-widget-container{margin:15px 15px 15px 15px;}.elementor-2526 .elementor-element.elementor-element-d4ba394.elementor-element{--align-self:flex-start;--flex-grow:0;--flex-shrink:0;}.elementor-2526 .elementor-element.elementor-element-1b91fdc{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-2526 .elementor-element.elementor-element-1b91fdc.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2526 .elementor-element.elementor-element-6935afa{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2526 .elementor-element.elementor-element-6935afa.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2526 .elementor-element.elementor-element-9dd3c69{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2526 .elementor-element.elementor-element-9dd3c69.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2526 .elementor-element.elementor-element-dc9993b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2526 .elementor-element.elementor-element-dc9993b.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2526 .elementor-element.elementor-element-8add3df.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2526 .elementor-element.elementor-element-34f7cbe{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:32px 32px;--row-gap:32px;--column-gap:32px;}.elementor-2526 .elementor-element.elementor-element-7a8be23 > .elementor-widget-container{margin:15px 15px 15px 15px;}.elementor-2526 .elementor-element.elementor-element-460f284{--display:flex;--margin-top:-30px;--margin-bottom:00px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:-50px;--padding-left:030px;--padding-right:24px;}.elementor-2526 .elementor-element.elementor-element-74150a7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-2526 .elementor-element.elementor-element-5786626 > .elementor-widget-container{margin:0px 0px 0px 070px;padding:0px 0px 0px 0px;}.elementor-2526 .elementor-element.elementor-element-5786626.elementor-element{--align-self:flex-start;--flex-grow:0;--flex-shrink:0;}.elementor-2526 .elementor-element.elementor-element-5786626 .elementor-heading-title{font-family:"Times New Roman", Sans-serif;font-size:40px;font-weight:600;color:#4E4748;}.elementor-2526 .elementor-element.elementor-element-ccd1063{--display:flex;}.elementor-2526 .elementor-element.elementor-element-1e792bc iframe{height:400px;}.elementor-2526 .elementor-element.elementor-element-d5bde27{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:16px;--padding-bottom:56px;--padding-left:24px;--padding-right:24px;}.elementor-2526 .elementor-element.elementor-element-72608bc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2526 .elementor-element.elementor-element-73c76ac{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2526 .elementor-element.elementor-element-73c76ac.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2526 .elementor-element.elementor-element-5a09475 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2526 .elementor-element.elementor-element-5a09475.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2526 .elementor-element.elementor-element-ac39575{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(min-width:768px){.elementor-2526 .elementor-element.elementor-element-6935afa{--width:50%;}.elementor-2526 .elementor-element.elementor-element-460f284{--width:100%;}.elementor-2526 .elementor-element.elementor-element-73c76ac{--width:100%;}}@media(max-width:1600px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-2526 .elementor-element.elementor-element-d4ba394{width:var( --container-widget-width, 1174.99px );max-width:1174.99px;--container-widget-width:1174.99px;--container-widget-flex-grow:0;}.elementor-2526 .elementor-element.elementor-element-8add3df{width:var( --container-widget-width, 565.422px );max-width:565.422px;--container-widget-width:565.422px;--container-widget-flex-grow:0;}.elementor-2526 .elementor-element.elementor-element-5786626{width:var( --container-widget-width, 194.859px );max-width:194.859px;--container-widget-width:194.859px;--container-widget-flex-grow:0;}.elementor-2526 .elementor-element.elementor-element-5a09475{width:var( --container-widget-width, 436.875px );max-width:436.875px;--container-widget-width:436.875px;--container-widget-flex-grow:0;}}@media(max-width:1024px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}}@media(max-width:767px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-2526 .elementor-element.elementor-element-73c76ac{--width:287.812px;}.elementor-2526 .elementor-element.elementor-element-5a09475{width:var( --container-widget-width, 278.812px );max-width:278.812px;--container-widget-width:278.812px;--container-widget-flex-grow:0;}}@media(max-width:1600px) and (min-width:768px){.elementor-2526 .elementor-element.elementor-element-1b91fdc{--width:1014.81px;}.elementor-2526 .elementor-element.elementor-element-6935afa{--width:623.391px;}.elementor-2526 .elementor-element.elementor-element-9dd3c69{--width:552.422px;}.elementor-2526 .elementor-element.elementor-element-dc9993b{--width:569.422px;}.elementor-2526 .elementor-element.elementor-element-73c76ac{--width:437.422px;}}/* Start custom CSS for html, class: .elementor-element-1eb5542 *//* trust row */
#post .gyl-trust {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  background: #F4E9E3;
  border-radius: 14px;
  padding: 28px 12px;
  margin: 0 0 28px 0;
}
#post .gyl-trust-card {
  text-align: center;
  padding: 0 22px;
}
#post .gyl-trust-card + .gyl-trust-card { border-left: 1px solid #E6D5CE; }
#post .gyl-trust-icon {
  display: block;
  margin: 0 auto 12px auto;
  line-height: 0;
}
#post .gyl-trust-title {
  font-family: 'Outfit', sans-serif;
  font-size: 17px;
  font-weight: 600;
  color: #3D2329;
  margin: 0 0 8px 0;
}
#post .gyl-trust-body {
  font-family: 'Outfit', sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: #6B5158;
  margin: 0;
}
@media (max-width: 900px) {
  #post .gyl-trust { grid-template-columns: 1fr; padding: 24px 20px; }
  #post .gyl-trust-card { padding: 20px 0; }
  #post .gyl-trust-card + .gyl-trust-card {
    border-left: 0;
    border-top: 1px solid #E6D5CE;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-29204ef *//* amenities */
#post .gyl-amen {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px 24px;
  margin: 0 0 20px 0;
}
#post .gyl-amen > div {
  position: relative;
  padding-left: 28px;
  font-family: 'Outfit', sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: #3D2329;
}
#post .gyl-amen > div::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #B0707F;
  font-weight: 700;
}
#post .gyl-amen-more { margin: 0 0 28px 0; }
#post .gyl-amen-more > summary {
  display: inline-block;
  background: #3D2329;
  color: #FFFFFF;
  font-family: 'Outfit', sans-serif;
  font-size: 15px;
  font-weight: 500;
  padding: 11px 20px;
  border-radius: 10px;
  cursor: pointer;
  list-style: none;
}
#post .gyl-amen-more > summary::after { content: none; }
#post .gyl-amen-more > summary::-webkit-details-marker { display: none; }
#post .gyl-amen-more[open] > summary { margin-bottom: 20px; }
#post .gyl-amen-more .gyl-amen-b { display: none; }
#post .gyl-amen-more[open] .gyl-amen-a { display: none; }
#post .gyl-amen-more[open] .gyl-amen-b { display: inline; }
@media (max-width: 900px) {
  #post .gyl-amen { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  #post .gyl-amen { grid-template-columns: 1fr; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-34f7cbe */.elementor-2526 .elementor-element.elementor-element-34f7cbe { flex-grow: 1; }/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-5786626 */location/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-73c76ac */.elementor-2526 .elementor-element.elementor-element-73c76ac iframe {
    width: 100% !important;
    max-width: 100% !important;
    display: block;
}

.elementor-2526 .elementor-element.elementor-element-73c76ac > .elementor-widget-container {
    width: 100%;
    max-width: 100%;
}
/* WpRentals hides horizontal overflow, which silently kills sticky.
   'clip' gives the same protection without creating a scroll container. */
html, body { overflow-x: clip !important; }/* End custom CSS */
/* Start custom CSS *//* ==========================================================
   GYL HOLIDAY HOMES — property page stylesheet
   Paste into: Elementor > Page Settings (gear icon)
               > Advanced > Custom CSS
   Identical on every apartment page. Nothing here is
   property-specific, so it copies across unchanged.
   ========================================================== */


/* ----------------------------------------------------------
   1. THEME FIXES
   ---------------------------------------------------------- */

/* page title */
h1.entry-title.single-title {
  font-size: 40px !important;
  text-align: center;
  margin: 0 0 8px 0 !important;
  padding-top: 24px;
}
@media (max-width: 767px) {
  h1.entry-title.single-title { font-size: 28px !important; }
}

/* hide the post date and the WordPress username */
.meta-element-head { display: none; }

/* hide the theme's comment section */
#comments, .comments-area, #respond { display: none; }

/* full width content, and drop the empty sidebar column */
#post > .col-md-8 { width: 100%; max-width: 100%; flex: 0 0 100%; }
#post > .col-md-4,
#post > aside,
#post .sidebar_wrapper { display: none; }

/* hide the leftover 2024 booking template */
.elementor-670 { display: none; }

/* remove blank paragraphs the editor leaves behind */
#post p:empty { display: none !important; }

/* smooth scrolling for the in-page anchor links */
html { scroll-behavior: smooth; }

/* WpRentals' wrapper sets overflow-x: hidden, which silently breaks
   position: sticky anywhere inside it. 'clip' stops sideways scroll
   the same way without creating a scroll container, so sticky works. */
.website-wrapper {
  overflow-x: clip !important;
  overflow-y: visible !important;
}


/* ----------------------------------------------------------
   2. OWNERREZ WIDGETS
   ---------------------------------------------------------- */

.ownerrez-widget,
.ownerrez-widget iframe,
.ownerrez-widget-iframe {
  width: 100% !important;
  max-width: 100% !important;
}

/* photo carousel fills its container (lightSlider bakes in
   pixel widths at load, so these need !important) */
#post .lSSlideOuter,
#post .lSSlideWrapper,
#post ul.ownerrez-photo-carousel {
  width: 100% !important;
  max-width: 100% !important;
}
#post ul.ownerrez-photo-carousel > li.lslide { width: 100% !important; }


/* ----------------------------------------------------------
   3. HEADINGS
   Pasted headings with inline styles override this, which is
   intended. This catches the theme-generated ones such as
   "Property Description".
   ---------------------------------------------------------- */

#post h2,
#post h3,
#post h4 {
  font-family: 'Outfit', sans-serif;
  font-size: 28px;
  font-weight: 500;
  color: #3D2329;
  margin: 0 0 18px 0;
}


/* ----------------------------------------------------------
   4. BADGE ROW
   Rating badge, Guest favourite chip, long-stay tag
   ---------------------------------------------------------- */

#post .gyl-badges {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 14px 0;
}
#post .gyl-rating-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}
#post .gyl-rating-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #F7E7EA;
  color: #3D2329 !important;
  font-family: 'Outfit', sans-serif;
  font-size: 18px;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: 10px;
}
#post .gyl-rating-count {
  font-family: 'Outfit', sans-serif;
  font-size: 16px;
  color: #6B5158 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
#post .gyl-rating-link:hover .gyl-rating-badge { background: #F0D6DB; }

#post .gyl-favourite {
  display: inline-block;
  background: #FFFFFF;
  border: 1px solid #EDE0E2;
  color: #3D2329;
  font-family: 'Outfit', sans-serif;
  font-size: 14px;
  font-weight: 500;
  padding: 7px 14px;
  border-radius: 999px;
}

#post .gyl-longstay {
  display: inline-flex;
  align-items: stretch;
  background: #FCEEF0;
  border-radius: 10px;
  overflow: hidden;
  text-decoration: none;
  margin: 0 0 24px 0;
}
/* The tag icon is an inline SVG in the HTML widget, not a background
   image — caching and minification can corrupt encoded data URIs. */
#post .gyl-longstay-icon {
  width: 40px;
  flex: 0 0 40px;
  background-color: #B0707F;
  display: flex;
  align-items: center;
  justify-content: center;
}
#post .gyl-longstay-text {
  font-family: 'Outfit', sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #7A3B48 !important;
  padding: 11px 16px;
}
#post .gyl-longstay:hover .gyl-longstay-text { text-decoration: underline; }


/* ----------------------------------------------------------
   5. SPEC BLOCK
   "Apartment of X m2 - Dubai Marina" plus the details box
   ---------------------------------------------------------- */

#post .gyl-spec-title {
  font-family: 'Outfit', sans-serif !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  color: #3D2329 !important;
  margin: 0 0 6px 0 !important;
}
#post .gyl-spec-link {
  color: #B0707F !important;
  text-decoration: underline;
  text-underline-offset: 4px;
  white-space: nowrap;   /* stops "Dubai Marina" splitting across lines */
}
#post .gyl-spec-sub {
  font-family: 'Outfit', sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #6B5158;
  margin: 0 0 20px 0;
}
#post .gyl-specbox {
  background: #F4E9E3;
  border-radius: 14px;
  padding: 10px 26px;
  margin: 0 0 28px 0;
}
#post .gyl-specrow {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 0;
}
#post .gyl-specrow + .gyl-specrow { border-top: 1px solid #E6D5CE; }
#post .gyl-specicon {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 3px;
}
/* Row icons are inline SVGs in the HTML widget, not background images. */
#post .gyl-speclist {
  font-family: 'Outfit', sans-serif;
  font-size: 16px;
  line-height: 1.8;
  color: #3D2329;
}


/* ----------------------------------------------------------
   6. TRUST ROW
   ---------------------------------------------------------- */

#post .gyl-trust {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  background: #F4E9E3;
  border-radius: 14px;
  padding: 28px 12px;
  margin: 0 0 28px 0;
}
#post .gyl-trust-card {
  text-align: center;
  padding: 0 22px;
}
#post .gyl-trust-card + .gyl-trust-card { border-left: 1px solid #E6D5CE; }
#post .gyl-trust-icon {
  display: block;
  margin: 0 auto 12px auto;
  line-height: 0;
}
#post .gyl-trust-title {
  font-family: 'Outfit', sans-serif;
  font-size: 17px;
  font-weight: 600;
  color: #3D2329;
  margin: 0 0 8px 0;
}
#post .gyl-trust-body {
  font-family: 'Outfit', sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: #6B5158;
  margin: 0;
}
@media (max-width: 900px) {
  #post .gyl-trust { grid-template-columns: 1fr; padding: 24px 20px; }
  #post .gyl-trust-card { padding: 20px 0; }
  #post .gyl-trust-card + .gyl-trust-card {
    border-left: 0;
    border-top: 1px solid #E6D5CE;
  }
}


/* ----------------------------------------------------------
   6b. AMENITIES
   Six shown, the rest behind a "Show all amenities" button.
   Pure CSS via <details> — no JavaScript.
   ---------------------------------------------------------- */

#post .gyl-amen {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px 24px;
  margin: 0 0 20px 0;
}
#post .gyl-amen > div {
  position: relative;
  padding-left: 28px;
  font-family: 'Outfit', sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: #3D2329;
}
#post .gyl-amen > div::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: 0;
  color: #B0707F;
  font-weight: 700;
}
#post .gyl-amen-more { margin: 0 0 28px 0; }
#post .gyl-amen-more > summary {
  display: inline-block;
  background: #3D2329;
  color: #FFFFFF !important;
  font-family: 'Outfit', sans-serif;
  font-size: 15px;
  font-weight: 500;
  padding: 11px 20px;
  border-radius: 10px;
  cursor: pointer;
  list-style: none;
}
/* stops the accordion rule stamping a "+" on this button */
#post .gyl-amen-more > summary::after { content: none; }
#post .gyl-amen-more > summary::-webkit-details-marker { display: none; }
#post .gyl-amen-more[open] > summary { margin-bottom: 20px; }
#post .gyl-amen-more .gyl-amen-b { display: none; }
#post .gyl-amen-more[open] .gyl-amen-a { display: none; }
#post .gyl-amen-more[open] .gyl-amen-b { display: inline; }
@media (max-width: 900px) {
  #post .gyl-amen { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  #post .gyl-amen { grid-template-columns: 1fr; }
}


/* ----------------------------------------------------------
   7. REVIEWS
   ---------------------------------------------------------- */

#post .gyl-reviews { margin: 0 0 32px 0; }
#post .gyl-reviews-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
#post .gyl-review {
  display: flex;
  flex-direction: column;
  background: #FFFFFF;
  border: 1px solid #EDE0E2;
  border-radius: 14px;
  padding: 24px;
}
#post .gyl-review-stars {
  color: #B0707F;
  font-size: 14px;
  letter-spacing: 2px;
  margin: 0 0 10px 0;
}
#post .gyl-review-text {
  font-family: 'Outfit', sans-serif;
  font-size: 15px;
  line-height: 1.7;
  color: #3D2329;
  margin: 0 0 14px 0;
}
#post .gyl-review-meta {
  font-family: 'Outfit', sans-serif;
  font-size: 14px;
  color: #8C7076;
  margin-top: auto;
  padding-top: 14px;
}
#post .gyl-reviews-more {
  font-family: 'Outfit', sans-serif;
  font-size: 15px;
  color: #6B5158;
  margin: 18px 0 0 0;
}
#post .gyl-reviews-more a {
  color: #B0707F !important;
  text-underline-offset: 3px;
}
@media (max-width: 900px) {
  #post .gyl-reviews-grid { grid-template-columns: 1fr; }
}


/* ----------------------------------------------------------
   8. BOOKING COLUMN
   The container needs CSS class: gyl-booking
   ---------------------------------------------------------- */

/* Force the frame to fill the column. Without this the frame
   sits at 320px, which trips OwnerRez's own mobile breakpoint
   and makes the form render in its narrow stacked layout. */
#post .gyl-booking .elementor-widget-container,
#post .gyl-booking .ownerrez-widget,
#post .gyl-booking .ownerrez-widget > *,
#post .gyl-booking iframe {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

/* sticky on desktop only. max-height stops a tall form
   pinning its top and pushing the button below the fold */
/* Sticky booking card on desktop */
@media (min-width: 992px) {
    #post .gyl-booking {
        background: #FFFFFF;
        border: 1px solid #E8D8DC;
        border-radius: 16px;
        padding: 24px;
        box-sizing: border-box;

        position: sticky;
        top: 140px;
        align-self: flex-start;
        max-height: calc(100vh - 170px);
        overflow-y: auto;
    }
}


/* ----------------------------------------------------------
   9. ACCORDIONS  (Good to know before you book)
   ---------------------------------------------------------- */

details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
details > summary::after {
  content: "+";
  float: right;
  color: #B0707F;
  font-size: 22px;
  line-height: 1;
}
details[open] > summary::after { content: "\2013"; }
#post details > summary {
  position: relative;
  padding-right: 32px;
  font-family: 'Outfit', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #3D2329 !important;
}
#post details > summary::after {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  float: none;
}


/* ----------------------------------------------------------
   10. SCROLL ANCHORS
   Holds targets clear of the sticky header.
   Increase the value if a heading lands under the menu bar.
   ---------------------------------------------------------- */

#guest-reviews { scroll-margin-top: 140px; }
#location      { scroll-margin-top: 140px; }

/* Good to know before you book - desktop */
#post .gyl-section-card h2 {
    font-size: 28px !important;
    line-height: 1.3 !important;
}

#post .gyl-section-card details > summary {
    font-size: 16px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
}

#post .gyl-section-card details p,
#post .gyl-section-card details li {
    font-size: 16px !important;
    line-height: 1.7 !important;
}


/* ----------------------------------------------------------
   11. MOBILE
   Type and padding scaled down for phones. Content wraps —
   that is correct at 390px; the fix is smaller type, not
   fewer line breaks.
   ---------------------------------------------------------- */

@media (max-width: 767px) {

  /* the breadcrumb wraps and orphans a letter on phones */
  #post .breadcrumb_container { display: none; }

  /* 16px gutters rather than the theme's 40 */
  #post .e-con-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
 /* Booking form card - mobile */
#post .gyl-booking {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    align-self: stretch !important;

    background: #FFFFFF;
    border: 1px solid #E8D8DC;
    border-radius: 14px;
    padding: 16px;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 20px;
    box-sizing: border-box;
}
#post .gyl-booking .elementor-widget-container,
#post .gyl-booking .ownerrez-widget,
#post .gyl-booking iframe {
    width: 100% !important;
    max-width: 100% !important;
}


  #post h2, #post h3, #post h4 { font-size: 22px; }

  /* sized so badge + count + chip fit one line at 390px */
  #post .gyl-badges { gap: 6px; }
  #post .gyl-rating-link { gap: 7px; }
  #post .gyl-rating-badge { font-size: 15px; padding: 5px 10px; gap: 4px; }
  #post .gyl-rating-count { font-size: 13px; }
  #post .gyl-favourite { font-size: 12px; padding: 5px 10px; }

  #post .gyl-longstay-icon { width: 36px; flex: 0 0 36px; }
  #post .gyl-longstay-text { font-size: 14px; padding: 10px 14px; }

  #post .gyl-spec-title { font-size: 18px !important; line-height: 1.35; margin: 0 0 4px 0 !important; }
  #post .gyl-spec-sub { font-size: 14px; margin: 0 0 16px 0; }
  #post .gyl-specbox { padding: 4px 16px; border-radius: 12px; }
  #post .gyl-specrow { gap: 12px; padding: 11px 0; }
  #post .gyl-speclist { font-size: 14px; line-height: 1.55; }
  /* the SVGs carry width="24" as an attribute, so shrink them too */
  #post .gyl-specicon { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 2px; }
  #post .gyl-specicon svg { width: 20px; height: 20px; }

  /* trust row becomes a swipeable carousel on phones.
     80% card width leaves the next card peeking, which is
     what signals it scrolls — no dots or arrows needed. */
  #post .gyl-trust {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding: 16px;
    gap: 12px;
    padding: 16px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  #post .gyl-trust::-webkit-scrollbar { display: none; }
  #post .gyl-trust-card {
    flex: 0 0 80%;
    scroll-snap-align: center;
    padding: 20px 16px;
    border: 0 !important;
  }
  #post .gyl-trust-card + .gyl-trust-card { border-top: 0 !important; }
  #post .gyl-trust-title { font-size: 16px; }
  #post .gyl-trust-body { font-size: 14px; }

  #post .gyl-amen > div { font-size: 15px; }

    #post .gyl-review { padding: 20px; }
  #post .gyl-review-text { font-size: 14px; }

  /* Good to know before you book - mobile */
  #post h2,
  #post h3,
  #post h4 {
    font-size: 20px !important;
    line-height: 1.3 !important;
  }

  #post details > summary {
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  #post details p,
  #post details li {
    font-size: 14px;
  }

  #post .gyl-amen-more > summary {
    font-size: 14px !important;
  }
}
/* ==========================================
   MOBILE STICKY BOOKING BAR
   ========================================== */

.gyl-mobile-bookbar {
    display: none;
}

@media (max-width: 767px) {

    .gyl-mobile-bookbar {
        display: flex;
        flex-direction: column;
        gap: 10px;

        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;

        width: 100%;
        box-sizing: border-box;

        background: #FFFFFF;
        border-top: 1px solid #EDE0E2;
        padding: 12px 16px calc(12px + env(safe-area-inset-bottom));

        z-index: 9999;
    }

   .gyl-mobile-booktext {
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    font-weight: 600 !important;
    color: #6B5158;
}

    .gyl-mobile-bookbutton {
        display: block;
        width: 100%;
        box-sizing: border-box;

        background: #3D2329;
        color: #FFFFFF !important;

        font-family: 'Outfit', sans-serif;
        font-size: 17px;
        font-weight: 600;
        text-align: center;
        text-decoration: none !important;

        padding: 14px 20px;
        border-radius: 7px;
    }

    .gyl-mobile-bookbutton:hover,
    .gyl-mobile-bookbutton:focus {
        background: #B0707F;
        color: #FFFFFF !important;
    }

    /* Prevent final page content being hidden behind booking bar */
    #post {
        padding-bottom: 110px;
    }

    /* When Select dates is tapped, keep form below mobile header */
    #booking-form {
        scroll-margin-top: 100px;
    }
}
/* ==========================================
   GYL SECTION CARDS
   ========================================== */

#post .gyl-section-card {
    background: #FFFFFF;
    border: 1px solid #E8D8DC;
    border-radius: 16px;
    padding: 28px 30px;
    margin-bottom: 28px;
    box-sizing: border-box;
}

/* Slightly stronger heading separation */
#post .gyl-section-card h2,
#post .gyl-section-card h3 {
    color: #3D2329;
}

/* Mobile */
@media (max-width: 767px) {

    #post .gyl-section-card {
        border-radius: 14px;
        padding: 20px 18px;
        margin-bottom: 20px;
    }
}/* End custom CSS */