/* Shared editorial typography, measured from the approved homepage intro.
   Explicit selectors preserve product-card, navigation and form-control hierarchy. */
.elite-type-standard{--elite-heading-size:40px;--elite-heading-line:1.1;--elite-copy-size:16px;--elite-copy-line:1.45}
.elite-type-standard main :is(
  .home-intro__title,
  .bj__title,
  .logos__title,
  .hcat__title,
  .villas__title,
  .about__title,
  .awards-sec__title,
  .reviews-sec__title,
  .page-hero__title,
  .section-label,
  .ab-form__title,
  .page__title,
  .contacts__cta-title,
  .page__content > h2,
  .blackjet-hero h1,
  .blackjet-intro > div > h2,
  .blackjet-offers > h2,
  .blackjet-stay > h2,
  .blackjet-request > div > h2,
  .blog-intro__title,
  .article__body .editorial-section > h2,
  .article__body .editorial-related > h2,
  .tr-lead__h,
  .tr-spec__h,
  .tr-countries__h,
  .str-best__h,
  .hotel__heading-section,
  .tr-help__h,
  .hotel__title,
  .room__title,
  .hotel-directory__title,
  .hseo__title,
  .cc .cc-title
){
  font-family:Forum,serif!important;
  font-size:var(--elite-heading-size)!important;
  font-weight:400!important;
  font-style:normal!important;
  line-height:var(--elite-heading-line)!important;
  letter-spacing:normal!important;
  text-transform:none!important;
  text-align:left!important;
  text-wrap:wrap;
  white-space:normal;
  overflow-wrap:break-word;
  margin:0 0 12px!important;
}
.elite-type-standard main :is(
  .home-intro__text,
  .catalog-search__intro,
  .bj__desc,
  .villas__text,
  .about__p,
  .awards-sec__sub,
  .reviews-sec__intro > p,
  .page-hero__sub,
  .page-hero__inner > p:not(.page-hero__crumb),
  .ab-lead,
  .abo__lead,
  .ab-form__sub,
  .faq__wrap .accordion__content,
  .faq__wrap .accordion__content p,
  .contacts__info-val,
  .contacts__cta-text,
  .page__content > p,
  .page__content li,
  .blackjet-hero__subtitle,
  .blackjet-intro > div > p,
  .blackjet-offers > p:not(.blackjet-note),
  .blackjet-stay > p,
  .blackjet-request > div > p,
  .nf-intro__text,
  .nf-intro__text p,
  .nf-seo__p,
  .accordion__content > p,
  .blog-list__intro,
  .blog-intro__text,
  .article__body > .editorial-lead,
  .editorial-section > p,
  .editorial-section li,
  .editorial-checklist li,
  .tr-lead__p,
  .str-best__p,
  .hotel__activities .accordion__content,
  .hotel__activities .accordion__content p,
  .tr-help__sub,
  .adv__text,
  .tr-spec__text,
  .str-rcard__text,
  .abo__feat p,
  .step__text,
  .nf-card__text,
  .blackjet-experience p,
  .hotel__description,
  .hotel__description p,
  .hotel__info-text,
  .hotel__info-list,
  .hotel .accordion__content,
  .hotel .accordion__content p,
  .hotel__value-text,
  .room__description,
  .room__description p,
  .room__location-text,
  .hotel-directory__intro,
  .hseo__text,
  .cc .cc-description
){
  font-family:Inter,sans-serif!important;
  font-size:var(--elite-copy-size)!important;
  font-weight:400!important;
  line-height:var(--elite-copy-line)!important;
  letter-spacing:normal!important;
  text-transform:none!important;
  text-align:left!important;
}
/* Remove centring of constrained text blocks, retaining section/container padding. */
.elite-type-standard main :is(.page-hero__sub,.page-hero__inner > p:not(.page-hero__crumb),.nf-intro__text,.logos__title,.hotel-directory__intro,.blackjet-hero__subtitle){margin-left:0!important;margin-right:0!important}
.elite-type-standard main .logos__title{padding-left:0!important;padding-right:0!important;max-width:none!important}
.elite-type-standard main :is(.tr-spec__h,.cc .cc-title){max-width:none!important}
.elite-type-standard main :is(.home-intro__title,.cc .cc-title)+p{margin-top:0!important}
/* One physical treatment for the Turkey CTA button and manager name plate. */
.elite-type-standard .tr-help--turkey-manager .tr-help__btn{height:46px!important;min-height:46px!important;padding:0 40px!important;border-radius:999px!important}
.elite-type-standard .tr-help--turkey-manager .tr-help__manager-name{min-height:46px!important;padding:0 40px!important;border-radius:999px!important;display:inline-flex;align-items:center;justify-content:center}
@media(min-width:901px){
  .elite-type-standard .tr-help--turkey-manager .tr-help__manager-name{left:46px!important;bottom:46px!important}
}
/* Buttons behave as controls when dragged, while keyboard focus remains available. */
.elite-type-standard :is(button,.btn,[role="button"]){-webkit-user-select:none;user-select:none}
@media(max-width:767px){
  .elite-type-standard{--elite-heading-size:26px}
  /* The country lead heading and paragraph form one connected background panel. */
  body.elite-type-standard main .home .tr-lead__h{margin-bottom:0!important}
  body.elite-type-standard main .home .tr-lead__p{padding-top:12px!important}
}

/* Shared spacing rhythm. Only named editorial sections are included;
   price widgets, compact hotel cards and form interiors retain their geometry. */
.elite-type-standard{--elite-section-gap:40px;--elite-section-half:20px;--elite-card-gap:20px;--elite-content-gap:24px}
body.elite-type-standard main .home > :is(
  .home-intro,.pc,.adv,.bj,.logos,.hcat,.villas,.about,.awards-sec,.reviews-sec,
  .abo,.steps,.ab-form,.faq,.contacts,.nf-intro,.nf-hl,.nf-seo,.blog-list,.blog-intro,.article,
  .str-hotels,.tr-lead,.tr-spec,.str-res,.str-best,.hotel__activities,.tr-help,.str-tiles-sec,
  .hotel-directory,.hseo
){padding-top:var(--elite-section-half)!important;padding-bottom:var(--elite-section-half)!important}
/* The first content block after a full-bleed hero has no preceding half-gap. */
body.elite-type-standard main .home > .page-hero + :is(.abo,.nf-intro,.hotel-directory){padding-top:var(--elite-section-gap)!important}
body.elite-type-standard main .home > .catalog-search{padding-bottom:var(--elite-section-half)!important}
body.elite-type-standard main .home:has(> .tr-cal.cc) > .str-hotels{padding-top:calc(var(--elite-section-gap) - 12px)!important}
body.elite-type-standard main .home > .str-hotels #ch-more-wrap{margin:var(--elite-content-gap) 0 0!important}
body.elite-type-standard main .home > .tr-countries .pc__more{margin-top:var(--elite-content-gap)!important}
/* Remove trailing space inside sections, so adjacent section padding owns the gap. */
body.elite-type-standard main .home > .reviews-sec .hotel__reviews{margin-bottom:0!important}
body.elite-type-standard main .home :is(.nf-intro__text > p:last-child,.nf-seo > .container > p:last-child,.villas__text:last-child,.blog-intro__text){margin-bottom:0!important}
body.elite-type-standard main .home .awards-subrow .awards-sec__sub{margin:0!important}
body.elite-type-standard main .home .awards-subrow{margin-bottom:var(--elite-content-gap)!important}
/* A heading already supplies 12px; flex gaps and following margins must not add to it. */
body.elite-type-standard main :is(.page-hero__title + p,.page__title + .blog-list__intro,.hotel-directory__intro){margin-top:0!important}
body.elite-type-standard main .home .str-best__box{gap:0!important}
body.elite-type-standard main .home .contacts__cta-title{margin-bottom:0!important}
body.elite-type-standard main .home .nf-intro__text p + p{margin-top:12px!important}
/* Section heading without prose: one 24px interval before cards, maps or FAQ. */
body.elite-type-standard main :is(.about__title,.tr-spec__h,.tr-countries__h,
  .section-label:has(+ :is(.steps__grid,.nf-grid,.str-rgrid,.accordion)),
  .hotel__heading-section:has(+ :is(.hotel__map,.hotel__rooms-list,.hotel__value-cards,.hotel__activities-images,.accordion,.villa-grid))
){margin-bottom:var(--elite-content-gap)!important}
body.elite-type-standard main :is(.str-rgrid,.nf-grid,.hotel__heading-section + .hotel__map){margin-top:0!important}
body.elite-type-standard main .home .hcat__head{margin-bottom:var(--elite-content-gap)!important}
body.elite-type-standard main .home .hcat__head .hcat__title{margin-bottom:0!important}
body.elite-type-standard main .home .hcat__row{margin-bottom:0!important}
body.elite-type-standard main .home .hcat__row + .hcat__head{margin-top:calc(var(--elite-section-gap) - 6px)!important}
body.elite-type-standard main .home .hcat__more{margin-top:calc(var(--elite-section-gap) - 6px)!important}
/* Home logos have no container around their heading; align to the site's content edge. */
body.elite-type-standard main .home > .logos > .logos__title{
  width:calc(100% - 40px);max-width:1200px!important;margin:0 auto var(--elite-content-gap)!important
}
body.elite-type-standard main .home .logos__plate{margin-top:0!important}
/* Shared informational cards and grids, excluding compact offers and carousel stepping. */
body.elite-type-standard main .home :is(.about__grid,.tr-help__grid,.str-rgrid,.tr-spec__grid,.str-tiles,.steps__grid,.nf-grid,.tr-adv .adv__grid){gap:var(--elite-card-gap)!important}
body.elite-type-standard main .home .about__card{padding:32px!important;gap:24px!important}
body.elite-type-standard main .home .about__h{margin-bottom:12px!important}
body.elite-type-standard main .home .tr-adv .adv__card:not(.adv__card--photo){gap:12px!important}
body.elite-type-standard main .home .tr-adv .adv__card:not(.adv__card--photo) .adv__title{margin:0!important}
body.elite-type-standard main .home :is(.str-rcard,.tr-spec__body){gap:12px!important;padding:24px!important}
/* Hotel templates: a single gap between standalone sections and nested layout rows. */
body.elite-type-standard main.hotel .hotel__layout{row-gap:var(--elite-section-gap)!important}
body.elite-type-standard main.hotel > .hotel__content,
body.elite-type-standard main.hotel .hotel__main > .hotel__prices:last-child{margin-bottom:0!important}
body.elite-type-standard main.hotel .hotel__layout > .hotel__rooms{padding-top:0!important;margin-block:0!important}
body.elite-type-standard main.hotel .hotel__layout > .hotel__tour-search{margin-block:0!important}
body.elite-type-standard main.hotel > :is(.hotel__location-section,.hotel__activities,.hotel__about-section,.hotel__rooms){
  padding-block:0!important;margin-block:var(--elite-section-gap) 0!important
}
body.elite-type-standard main.hotel > .hotel__tour-search{margin:var(--elite-section-gap) 0 0!important}
body.elite-type-standard main.hotel .hotel__rooms-list{gap:var(--elite-card-gap)!important}
body.elite-type-standard main.hotel .hotel__reviews--agency{margin-bottom:var(--elite-section-gap)!important}
body.elite-type-standard main.hotel .villa-grid + .hotel__cta-section{margin-top:var(--elite-section-gap)!important}
body.elite-type-standard main.room :is(.room__description,.room__features,.room__services,.room__location){margin-bottom:var(--elite-section-gap)!important}
body.elite-type-standard main.room .room__section-title{margin-bottom:12px!important}
/* The catalog review wrapper is a section, not the standalone hotel main template. */
body.elite-type-standard main .home:has(> .hotel-directory) > section.hotel{padding-block:var(--elite-section-half)!important}
body.elite-type-standard main .home:has(> .hotel-directory) > section.hotel .hotel__reviews{margin-bottom:0!important}
body.elite-type-standard main .home:has(> .hotel-directory) > section.hotel .hotel__yandex-badge--agency{margin-top:0!important}
body.elite-type-standard main .hotel-directory__intro{margin-bottom:var(--elite-content-gap)!important}
/* Black Jet panels retain their own internal padding. */
body.elite-type-standard main.blackjet-page > .container > :is(.blackjet-intro,.blackjet-experience,.blackjet-offers,.blackjet-stay){padding-block:var(--elite-section-half)!important}
body.elite-type-standard main.blackjet-page .blackjet-destinations{padding-bottom:var(--elite-section-half)!important}
body.elite-type-standard main.blackjet-page .blackjet-request{margin-top:var(--elite-section-half)!important;margin-bottom:var(--elite-section-gap)!important}
body.elite-type-standard main.blackjet-page :is(.blackjet-intro > div > p:last-child,.blackjet-experience > article > p:last-child,.blackjet-offers > .blackjet-note:last-child){margin-bottom:0!important}
body.elite-type-standard main.blackjet-page .blackjet-offers__grid{margin-top:var(--elite-content-gap)!important;gap:var(--elite-card-gap)!important}
/* Long-form sections keep paragraph rhythm separate from section spacing. */
body.elite-type-standard main .article__body > .editorial-section + .editorial-section{margin-top:var(--elite-section-gap)!important}
body.elite-type-standard main .editorial-section > :last-child{margin-bottom:0!important}
body.elite-type-standard main .page__content > h2:not(:first-child){margin-top:var(--elite-section-gap)!important}
@media(max-width:767px){
  .elite-type-standard{--elite-section-gap:32px;--elite-section-half:16px;--elite-card-gap:16px}
  body.elite-type-standard main .home .about__card{padding:24px!important;gap:24px!important}
  body.elite-type-standard main .home :is(.str-rcard,.tr-spec__body){padding:20px!important}
  body.elite-type-standard main .home .contacts__cta{row-gap:0!important}
  body.elite-type-standard main .home .contacts__cta-title{margin-bottom:12px!important}
  /* Mobile special offers have a separate navigation row between title and cards. */
  body.elite-type-standard main .home .tr-spec__h{margin-bottom:12px!important}
}

/* Awards photograph: natural height determines the row, without bottom alignment or cropping. */
body.elite-type-standard main :is(.home .about,.home .abo,.hotel-agency-about) .about__photo{
  position:relative!important;align-self:start!important;min-height:0!important;
  height:auto!important;max-width:none!important;width:100%!important;overflow:hidden
}
body.elite-type-standard main :is(.home .about,.home .abo,.hotel-agency-about) .about__photo img{
  position:static!important;inset:auto!important;display:block!important;
  width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;
  transform:none!important;object-fit:contain!important;object-position:50% 50%!important;
  border-radius:inherit
}
body.elite-type-standard main :is(.home .about,.home .abo,.hotel-agency-about) .about__photo-label{display:none!important}
@media(min-width:1024px){
  body.elite-type-standard main :is(.home .about,.home .abo,.hotel-agency-about) .about__grid{
    grid-template-columns:minmax(0,300px) minmax(0,1fr)!important;align-items:start!important
  }
  body.elite-type-standard main :is(.home .about,.home .abo,.hotel-agency-about) .about__card{
    align-self:stretch!important;height:auto!important;min-height:0!important
  }
}
@media(max-width:1023px){
  body.elite-type-standard main :is(.home .about,.home .abo,.hotel-agency-about) .about__photo{
    max-width:300px!important;justify-self:center!important;margin-inline:auto!important
  }
}
/* Mouse/touch activation has no focus ring; keyboard focus uses the site's palette. */
body.elite-type-standard :is(button,.btn,[role="button"],a[data-modal-open]){
  -webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none
}
body.elite-type-standard :is(button,.btn,[role="button"],a[data-modal-open]):focus:not(:focus-visible){
  outline:none!important;box-shadow:none!important
}
body.elite-type-standard :is(button,.btn,[role="button"],a[data-modal-open]):focus-visible{
  outline:2px solid #8b7666!important;outline-offset:3px;box-shadow:none!important
}

/* Layout and remaining editorial labels found by the visible-heading census. */
html:has(> body.elite-type-standard){scrollbar-gutter:stable}
body.elite-type-standard main .editorial-sources > h2{
  font-family:Forum,serif!important;font-size:var(--elite-heading-size)!important;
  font-weight:400!important;font-style:normal!important;line-height:var(--elite-heading-line)!important;
  letter-spacing:normal!important;text-transform:none!important;text-align:left!important;
  white-space:normal;overflow-wrap:break-word;text-wrap:wrap
}

/* User-requested emergency: the text panel matches the complete photo's height. */
@media(min-width:1024px){
  body.elite-type-standard main :is(.home .about,.home .abo,.hotel-agency-about) .about__grid{align-items:stretch!important}
  body.elite-type-standard main :is(.home .about,.home .abo,.hotel-agency-about) .about__card{
    contain:size;align-self:stretch!important;min-height:0!important;height:auto!important;
    box-sizing:border-box;padding:22px!important;gap:16px!important;justify-content:space-between!important
  }
  body.elite-type-standard main :is(.home .about,.home .abo,.hotel-agency-about) .about__h{
    font-size:28px!important;line-height:1.1!important;margin:0 0 8px!important
  }
}
@media(min-width:1024px) and (max-width:1199px){
  body.elite-type-standard main :is(.home .about,.home .abo,.hotel-agency-about) .about__h{font-size:24px!important}
  body.elite-type-standard main :is(.home .about,.home .abo,.hotel-agency-about) .about__p{font-size:14px!important;line-height:1.4!important}
}
