/*
 * Design "Terracotta": Mediterranean and Moroccan, light throughout.
 *
 * Warm plaster paper, clay brown ink, terracotta for buttons and labels, deep zellige
 * blue as the second colour. Marcellus (carved capitals feel) for display, DM Sans for
 * text. Signatures: photographs in POINTED MOORISH ARCHES, ZELLIGE TILE strips (a CSS
 * pattern of blue and clay squares) along the header, bands and footer, scores in
 * EIGHT-POINT STARS.
 *
 * Its own layouts (not Classic's with new colours):
 *   header   plaster, a tile strip along its foot, menu in small spaced capitals
 *   hero     full-bleed photograph; the words on a plaster panel with a tile edge at
 *            its top, lower left; booking card under it
 *   cards    pointed-arch photographs over plaster captions; offers framed in tile
 *   footer   a tile band at the top, plaster, the sister hotels in pointed arches
 *   pages    inner heroes: the photograph in one wide pointed arch, title beneath
 *
 * Every rule is scoped to html[data-design="terracotta"].
 *
 * Contrast (WCAG AA, checked): ink #2E211B on #F6EEE3 14.0:1; body #4A3A30 9.3:1;
 * muted #6B5A4E 5.6:1; terracotta #A0461F on plaster 5.3:1, white on it 6.0:1;
 * blue #1F3A5F on plaster 10.2:1, white on it 11.4:1.
 */

/* ---------- tokens ---------- */
html[data-design="terracotta"]{
  --tc-clay:#A0461F;
  --tc-clay-deep:#863817;
  --tc-blue:#1F3A5F;
  --tc-sand:#E4CFB4;
  --tc-plaster:#F6EEE3;
  --tc-tiles:conic-gradient(from 45deg,var(--tc-blue) 25%,var(--tc-plaster) 0 50%,var(--tc-clay) 0 75%,var(--tc-plaster) 0) 0 0/18px 18px;
  --tc-arch:polygon(0 100%,0 34%,6% 22%,15% 12%,27% 5%,40% 1.2%,50% 0,60% 1.2%,73% 5%,85% 12%,94% 22%,100% 34%,100% 100%);
  --tc-star:polygon(50% 0,63% 20%,85% 15%,80% 37%,100% 50%,80% 63%,85% 85%,63% 80%,50% 100%,37% 80%,15% 85%,20% 63%,0 50%,20% 37%,15% 15%,37% 20%);

  --paper:var(--tc-plaster);
  --paper-2:#EFE2D1;
  --white:#FFFBF5;
  --ink:#2E211B;
  --ink-soft:#3B2C24;
  --text:#4A3A30;
  --muted:#6B5A4E;
  --line:#DCC9B2;
  --sand:var(--tc-clay);
  --sand-deep:var(--tc-clay-deep);
  --sand-text:var(--tc-clay);
  --sand-tint:#F1DCCB;

  --f-display:"Marcellus", "Trajan Pro", Georgia, serif;
  --f-body:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;

  --radius:6px;
  --radius-lg:10px;
  --radius-btn:6px;
  --shadow:0 20px 40px -28px rgba(46,33,27,.45);
  --shadow-soft:0 12px 28px -22px rgba(46,33,27,.35);
}
html[data-design="terracotta"] body,
html[data-design="terracotta"] body[class]{
  --accent:var(--tc-clay);
  --accent-strong:var(--tc-clay);
  --accent-text:var(--tc-clay);
  --on-accent:#FFFFFF;
  --accent-tint:rgba(160,70,31,.10);
  background:var(--paper);
  color:var(--text);
}

/* ---------- type ---------- */
html[data-design="terracotta"] :is(h1,h2,h3){font-family:var(--f-display);font-weight:400;letter-spacing:.01em;color:var(--ink)}
html[data-design="terracotta"] h1{line-height:1.08}
html[data-design="terracotta"] h2{line-height:1.12}
html[data-design="terracotta"] :is(.hero__inner,.p-hero__inner) :is(h1,h2,h3){color:#fff}
html[data-design="terracotta"] .eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--f-body);font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--tc-clay)}
html[data-design="terracotta"] .eyebrow::before{content:"";display:inline-block;width:12px;height:12px;border:0;background:var(--tc-blue);clip-path:var(--tc-star)}
html[data-design="terracotta"] :focus-visible{outline:2px solid var(--tc-blue);outline-offset:3px}
html[data-design="terracotta"] .tc-link{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:var(--tc-clay);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.3em}
html[data-design="terracotta"] .tc-link:hover{color:var(--tc-blue)}
html[data-design="terracotta"] .tc-more{margin-top:2rem;text-align:center}
/* A tile strip, used as a border. */
html[data-design="terracotta"] .tc-tilestrip,
html[data-design="terracotta"] .section__head h2::after{content:"";display:block;height:9px;width:90px;margin-top:1rem;background:var(--tc-tiles);background-size:9px 9px}

/* ---------- shape and buttons ---------- */
html[data-design="terracotta"] body :is(.btn,.chip,.card__tag,.offer__badge,.offer-badge,.rtile__tag,.dine__badge,.compare__badge,.lang-menu__btn){border-radius:6px}
html[data-design="terracotta"] .btn{font-weight:700;letter-spacing:.04em;text-transform:none}
html[data-design="terracotta"] :is(.btn--primary,.btn--accent){background:var(--tc-clay);border-color:var(--tc-clay);color:#fff}
html[data-design="terracotta"] :is(.btn--primary,.btn--accent):hover{background:var(--tc-clay-deep);border-color:var(--tc-clay-deep);color:#fff;filter:none}
html[data-design="terracotta"] :is(.btn--outline,.btn--accent-outline,.btn--light){background:transparent;color:var(--tc-blue);border:1.5px solid var(--tc-blue)}
html[data-design="terracotta"] :is(.btn--outline,.btn--accent-outline,.btn--light):hover{background:var(--tc-blue);color:#fff}
html[data-design="terracotta"] .btn--dark{background:var(--tc-blue);border-color:var(--tc-blue);color:#fff}
html[data-design="terracotta"] body :is(.card__tag,.offer__badge,.offer-badge,.rtile__tag,.dine__badge,.compare__badge,.chip[aria-pressed="true"],.faq-filter button[aria-pressed="true"],.cal__done,.offer-cta,.rc-badge){background:var(--tc-blue);border-color:var(--tc-blue);color:#fff}
html[data-design="terracotta"] body :is(.offer-row,.rcard){--rc:var(--tc-clay)!important}
html[data-design="terracotta"] body :is(.card,.rcard,.room,.offer,.facility,.dine,.booking__card,.router__card,.compare__card,.loc,.stat,.dx-facts,.ex-card,.faq details,.p-location__card){border-color:var(--line);border-radius:10px}

/* ---------- light bands with tile edges ---------- */
html[data-design="terracotta"] :is(.section--ink,.cta,.aw-band,.g-cta,.p-facts,.faq-band,.p-topbar){background:var(--paper-2);color:var(--text)}
html[data-design="terracotta"] :is(.section--ink,.faq-band){}
html[data-design="terracotta"] :is(.section--ink,.cta,.aw-band,.g-cta) :is(h1,h2,h3){color:var(--ink)}
html[data-design="terracotta"] :is(.section--ink,.cta,.aw-band,.g-cta) :is(p,li){color:var(--text)}
html[data-design="terracotta"] :is(.section--ink,.cta,.aw-band) .eyebrow{color:var(--tc-clay)}
html[data-design="terracotta"] .section--tint{background:var(--paper-2)}
html[data-design="terracotta"] .hero__overlay{background:linear-gradient(180deg,rgba(46,33,27,.3) 0%,rgba(46,33,27,.05) 40%,rgba(46,33,27,.25) 100%)}

/* =====================================================================
   HEADER: plaster with a tile strip along its foot.
   ===================================================================== */
html[data-design="terracotta"] body #siteHeader,
html[data-design="terracotta"] body #siteHeader.is-transparent{background:var(--paper)!important;backdrop-filter:none!important;border-bottom:0!important;box-shadow:none}
html[data-design="terracotta"] body #siteHeader::before{display:none!important}
html[data-design="terracotta"] body #siteHeader::after{content:"";position:absolute;left:0;right:0;top:100%;height:8px;background:var(--tc-tiles);background-size:8px 8px;pointer-events:none}
html[data-design="terracotta"] body #siteHeader :is(.p-mainnav,.p-topbar){background:transparent!important;backdrop-filter:none!important}
html[data-design="terracotta"] body #siteHeader .p-topbar{background:var(--tc-blue)!important}
html[data-design="terracotta"] body #siteHeader .p-topbar :is(a,button,.logo-text){color:#fff!important}
html[data-design="terracotta"] body #siteHeader .p-topbar .p-topbar__logo{filter:none!important}
html[data-design="terracotta"] body #siteHeader :is(.nav-links>li>a,.nav-links>li>button,.nav-toggle,.brand,.p-mainmenu>li>a,.p-burger,.p-mainnav__brand,.p-sub-toggle,.logo-text){color:var(--ink)!important;text-shadow:none}
html[data-design="terracotta"] body #siteHeader .p-topbar .logo-text{color:#fff!important}
html[data-design="terracotta"] body #siteHeader .lang-menu__btn{background:transparent!important;border-color:var(--line)!important;color:var(--ink)!important}
html[data-design="terracotta"] body #siteHeader .p-topbar .lang-menu__btn{border-color:rgba(255,255,255,.5)!important;color:#fff!important}
html[data-design="terracotta"] body #siteHeader :is(.p-mainnav__logo,.brand__logo){filter:invert(1)!important}
html[data-design="terracotta"] body #siteHeader .logo-text{font-family:var(--f-display);letter-spacing:.04em}
html[data-design="terracotta"] body #siteHeader :is(.p-mainmenu>li>a,.nav-links>li>a,.nav-links>li>button){font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
html[data-design="terracotta"] body #siteHeader :is(.p-mainmenu>li>a,.nav-links>li>a)::after{background:var(--tc-clay);height:2px}
@media (max-width:1366px){
  html[data-design="terracotta"] body #siteHeader :is(.p-mainmenu>li>a,.nav-links>li>a,.nav-links>li>button){letter-spacing:.06em}
}
/* The spaced capitals need room: below 1200px the group menu lives in the drawer only. */
@media (max-width:1199px){
  html[data-design="terracotta"] body #siteHeader .nav-inline{display:none}
}
html[data-design="terracotta"] :is(.nav-drawer,.p-mainmenu[data-open]){background:var(--paper)}
@media (max-width:1120px){
  html[data-design="terracotta"] body .p-mainmenu>li:not(.p-menu-extra,.p-menu-cta,.p-menu-contact)>a{font-family:var(--f-display);font-size:1.3rem;font-weight:400;text-transform:none;letter-spacing:.02em}
}
html[data-design="terracotta"] body .nav-drawer__list>li:not(.nav-drawer__head)>a:not(.nav-drawer__resort){font-family:var(--f-display);font-size:1.3rem}

/* =====================================================================
   FOOTER: a tile band at the top, plaster, sister hotels in pointed arches.
   ===================================================================== */
html[data-design="terracotta"] .site-footer{position:relative;background:var(--paper-2);color:var(--text);padding-block:clamp(56px,7vw,96px) 1.6rem}
html[data-design="terracotta"] .site-footer a{color:var(--ink)}
html[data-design="terracotta"] .site-footer a:hover{color:var(--tc-clay)}
html[data-design="terracotta"] .site-footer :is(p,.footer__note){color:var(--text)}
html[data-design="terracotta"] .site-footer .footer__logo{filter:invert(1)}
html[data-design="terracotta"] body .site-footer .footer__h{font-family:var(--f-body);font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--tc-clay)}
html[data-design="terracotta"] body .site-footer .footer__logo-text{font-family:var(--f-display);font-size:clamp(1.8rem,2.6vw,2.4rem);letter-spacing:.03em;color:var(--ink)}
html[data-design="terracotta"] body .site-footer .footer__grid li a{display:inline-flex;align-items:center;min-height:36px}
html[data-design="terracotta"] body .site-footer .footer__legal a{display:inline-flex;align-items:center;min-height:44px;color:var(--text)}
html[data-design="terracotta"] body .site-footer :is(.footer__bottom,.footer__bottom a){color:var(--muted)}
html[data-design="terracotta"] body .site-footer :is(.footer__legal-row,.footer__bottom){border-color:var(--line)}
html[data-design="terracotta"] body .site-footer .footsib{display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem clamp(1.2rem,3vw,2.4rem);border-top:1px solid var(--line);margin-top:2.4rem;padding-top:2rem}
html[data-design="terracotta"] body .site-footer .footsib__lbl{flex:1 1 100%;text-align:center;font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--tc-clay)}
html[data-design="terracotta"] body .site-footer .footsib__row{display:flex;flex-direction:column;align-items:center;gap:.6rem;width:clamp(130px,14vw,170px);padding:0;border:0;text-align:center;color:var(--ink)}
html[data-design="terracotta"] body .site-footer .footsib__thumb{width:100%;height:auto;aspect-ratio:3/4;margin:0;clip-path:var(--tc-arch);border-radius:0}
html[data-design="terracotta"] body .site-footer .footsib__thumb img{width:100%;height:100%;object-fit:cover;border-radius:0}
html[data-design="terracotta"] body .site-footer .footsib__name{font-family:var(--f-display);font-size:1.15rem;color:var(--ink)}
html[data-design="terracotta"] body .site-footer .footsib__desc{margin:0;text-align:center;font-size:.85rem;color:var(--muted)}
html[data-design="terracotta"] body .site-footer .footsib__arw{display:none}
html[data-design="terracotta"] .footstrip{display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem clamp(1.2rem,3vw,2.4rem);padding:clamp(2.4rem,4vw,3.4rem) var(--gutter) 0;background:var(--paper-2);}
html[data-design="terracotta"] .footstrip + .site-footer{border-top:0}
html[data-design="terracotta"] .footstrip a{display:flex;flex-direction:column;align-items:center;gap:.6rem;width:clamp(130px,14vw,170px);aspect-ratio:auto;overflow:visible}
html[data-design="terracotta"] .footstrip a::after{display:none}
html[data-design="terracotta"] .footstrip img{aspect-ratio:3/4;height:auto;clip-path:var(--tc-arch)}
html[data-design="terracotta"] .footstrip a:hover img{transform:none}
html[data-design="terracotta"] .footstrip span{position:static;color:var(--ink);text-shadow:none;font-family:var(--f-display);font-size:1.1rem;font-weight:400;letter-spacing:.02em;text-align:center}

/* =====================================================================
   INNER PAGE HERO: the photograph in one wide pointed arch, the title beneath.
   ===================================================================== */
html[data-design="terracotta"] body .p-pagehead{display:flex;flex-direction:column;background:var(--paper);color:var(--text);overflow:visible;padding-top:96px}
html[data-design="terracotta"] body[data-resort] .p-pagehead{padding-top:132px}
html[data-design="terracotta"] body .p-pagehead__img{position:static;display:block;width:calc(100% - 2 * var(--gutter));max-width:calc(var(--maxw) - 2 * var(--gutter));height:clamp(240px,36vw,460px);margin:0 auto;opacity:1;object-fit:cover;clip-path:polygon(0 100%,0 30%,4% 19%,11% 10%,21% 4%,35% 1%,50% 0,65% 1%,79% 4%,89% 10%,96% 19%,100% 30%,100% 100%)}
html[data-design="terracotta"] body .p-pagehead__inner,
html[data-design="terracotta"] body[data-resort] .p-pagehead__inner{padding:clamp(1.6rem,3vw,2.4rem) var(--gutter) clamp(1.4rem,2.4vw,2rem);text-align:center}
html[data-design="terracotta"] body .p-pagehead h1{color:var(--ink);font-size:clamp(2.2rem,5vw,4rem);text-shadow:none}
html[data-design="terracotta"] body .p-pagehead .eyebrow{justify-content:center;color:var(--tc-clay)}
html[data-design="terracotta"] body .p-pagehead__inner > p:not(.eyebrow){color:var(--text);max-width:52ch;margin-inline:auto;font-size:1.08rem}
html[data-design="terracotta"] body .p-pagehead__inner::after{content:"";display:block;width:120px;height:9px;margin:1.2rem auto 0;background:var(--tc-tiles);background-size:9px 9px}
@media (max-width:720px){
  html[data-design="terracotta"] body .p-pagehead,
  html[data-design="terracotta"] body[data-resort] .p-pagehead{padding-top:72px}
  html[data-design="terracotta"] body .p-pagehead__img{height:220px}
}

/* =====================================================================
   SHARED SECTION PIECES
   ===================================================================== */
@media (min-width:721px){
  html[data-design="terracotta"] .section__head{margin-inline:auto;text-align:center}
  html[data-design="terracotta"] .section__head .eyebrow{justify-content:center}
  html[data-design="terracotta"] .section__head h2{font-size:clamp(2.1rem,3.8vw,3.2rem)}
  html[data-design="terracotta"] .section__head h2::after{margin-inline:auto}
  html[data-design="terracotta"] .section{padding-block:clamp(72px,8.5vw,120px)}
}
html[data-design="terracotta"] .p-crumbs{text-align:center}
html[data-design="terracotta"] .p-crumbs a{color:var(--tc-clay);display:inline-flex;align-items:center;min-height:44px}

/* Key facts: a plaster card, small stars for bullets. */
html[data-design="terracotta"] body .p-keyfacts{background:var(--white);border:1px solid var(--line)}
html[data-design="terracotta"] body .p-keyfacts li{align-items:center;color:var(--ink)}
html[data-design="terracotta"] body .p-keyfacts svg{color:var(--tc-blue)}

/* Facilities: plaster tiles, the icon inside a star. */
html[data-design="terracotta"] body .facility{background:var(--white);text-align:center;box-shadow:none}
html[data-design="terracotta"] body .facility__ic{width:60px;height:60px;margin:0 auto 1rem;border:0;border-radius:0;background:var(--tc-sand);color:var(--tc-blue);clip-path:var(--tc-star)}
html[data-design="terracotta"] body .facility h3{font-family:var(--f-display);font-weight:400;font-size:1.3rem}
html[data-design="terracotta"] body .facility:hover{transform:none;box-shadow:var(--shadow-soft)}

/* Offers: framed in tile, the photograph in an arch. */
html[data-design="terracotta"] body .offer-row{background:var(--white);box-shadow:var(--shadow-soft)}
html[data-design="terracotta"] body .offer-media{border-right:0;clip-path:var(--tc-arch);margin:.8rem}
html[data-design="terracotta"] body .offer-body h3{font-size:clamp(1.7rem,2.6vw,2.3rem)}

/* "With every booking": stars. */
html[data-design="terracotta"] body .perks-ribbon{background:var(--white);border:1px solid var(--line)}
html[data-design="terracotta"] body .perks-ribbon__head{color:var(--tc-clay);font-weight:700;letter-spacing:.2em}
html[data-design="terracotta"] body .perk__ic{width:70px;height:70px;border:0;border-radius:0;background:var(--tc-sand);color:var(--tc-blue);clip-path:var(--tc-star)}
html[data-design="terracotta"] body .perk b{font-family:var(--f-display);font-weight:400;font-size:1.2rem;color:var(--ink)}

/* Room tiles: arched photographs over plaster captions (computers/tablets). */
@media (min-width:721px){
  html[data-design="terracotta"] body .roombento{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-auto-rows:auto;gap:1.8rem}
  html[data-design="terracotta"] body .rtile{grid-column:auto;grid-row:auto;display:flex;flex-direction:column;min-height:0;overflow:visible;background:none;box-shadow:none;color:var(--text);text-align:center}
  html[data-design="terracotta"] body .rtile img{position:relative;inset:auto;height:auto;aspect-ratio:3/4;clip-path:var(--tc-arch)}
  html[data-design="terracotta"] body .rtile:hover img{transform:none}
  html[data-design="terracotta"] body .rtile__scrim{display:none}
  html[data-design="terracotta"] body .rtile__body{position:static;align-items:center;padding:1rem 0 0}
  html[data-design="terracotta"] body .rtile h3{color:var(--ink);font-size:1.45rem}
  html[data-design="terracotta"] body .rtile__tag{margin:0 0 .4rem}
  html[data-design="terracotta"] body .rtile__desc{max-height:none;opacity:1;margin:.3rem 0 0;color:var(--text)}
  html[data-design="terracotta"] body .rtile__link{color:var(--tc-clay);text-transform:none;letter-spacing:0;min-height:44px}
  html[data-design="terracotta"] body .rtile--nomedia{background:none}
}

/* The booking panel: plaster under a tile edge, centred. */
html[data-design="terracotta"] body .section--ink{text-align:center}

/* Attractions: the number in a star. */
html[data-design="terracotta"] body .attr-row{border-top:1px solid var(--line)}
html[data-design="terracotta"] body .attr-idx{display:grid;place-items:center;width:46px;height:46px;padding:0;background:var(--tc-sand);color:var(--tc-blue);clip-path:var(--tc-star);font-family:var(--f-display);font-size:1rem}
html[data-design="terracotta"] body .attr-thumb{clip-path:var(--tc-arch);border-radius:0}
html[data-design="terracotta"] body .attr-thumb:not(:has(img)){display:none}
html[data-design="terracotta"] body .attr-main h3{font-size:1.35rem}
html[data-design="terracotta"] body .attr-dist{color:var(--tc-clay);font-weight:700}
@media (min-width:721px){
  html[data-design="terracotta"] body .attr-thumb{width:120px;height:auto;aspect-ratio:3/4}
}

/* Questions: plaster cards. */
html[data-design="terracotta"] body :is(.faqx__item,.faq details){background:var(--white);border:1px solid var(--line);margin-bottom:.7rem}
html[data-design="terracotta"] body :is(.faqx__item,.faq details) summary{font-family:var(--f-display);font-size:1.15rem;padding:1rem 1.2rem;background:none}
html[data-design="terracotta"] body :is(.faqx__item,.faq details) > :not(summary){padding:0 1.2rem 1.1rem}

/* Gallery: arched photographs. */
html[data-design="terracotta"] body .gallery a{clip-path:var(--tc-arch);border-radius:0;box-shadow:none}
@media (min-width:721px){
  html[data-design="terracotta"] body .gallery{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:auto;gap:1.2rem}
  html[data-design="terracotta"] body .gallery a{aspect-ratio:3/4}
}

/* Awards band, facts. */
html[data-design="terracotta"] body .aw-band{min-height:0;}
html[data-design="terracotta"] body .aw-band > img,
html[data-design="terracotta"] body .aw-band::after{display:none}
html[data-design="terracotta"] body .aw-band :is(h2,.aw-score span){color:var(--ink)}
html[data-design="terracotta"] body .aw-band .aw-ring{color:var(--ink);background:var(--white);border-color:var(--tc-clay)}
html[data-design="terracotta"] body .aw-band__logo{filter:none}
html[data-design="terracotta"] body .aw-band__in > div > p{color:var(--text)}
html[data-design="terracotta"] body .dx-facts{background:var(--white)}

/* =====================================================================
   HOMEPAGE AND HOTEL PAGE
   ===================================================================== */
/* Hero: the words on a plaster panel with a tile edge, lower left. */
html[data-design="terracotta"] .tc-pill-label{color:#fff!important}
@media (min-width:721px){html[data-design="terracotta"] .tc-pill-label{color:var(--tc-clay)!important;text-shadow:none}}
html[data-design="terracotta"] .tc-hero__links{display:none}
@media (min-width:721px){
  html[data-design="terracotta"] .tc-hero{display:flex}
  html[data-design="terracotta"] body .tc-hero .hero__inner{width:100%;justify-content:flex-end;padding-bottom:96px;min-height:0;text-shadow:none}
  html[data-design="terracotta"] body .tc-hero .hero__inner > :is(.hero__eyebrow,h1,.tc-hero__links){max-width:620px;background:var(--paper);margin:0;padding-inline:2rem}
  html[data-design="terracotta"] body .tc-hero .hero__inner > .hero__eyebrow{padding-top:1.8rem;font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
  html[data-design="terracotta"] body .tc-hero h1{color:var(--ink);font-size:clamp(2.2rem,min(3.8vw,5.6vh),3.6rem);padding-top:.6rem;padding-bottom:1.4rem}
  html[data-design="terracotta"] .tc-hero__links{display:flex;flex-wrap:wrap;gap:.2rem 1.4rem;padding-bottom:1.6rem!important;margin-top:-.4rem!important}
  html[data-design="terracotta"] .tc-hero__links a{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:var(--tc-clay);text-decoration:underline;text-underline-offset:.3em}
  html[data-design="terracotta"] body .tc-hero .hero__dots{position:absolute;right:var(--gutter);bottom:5rem;margin:0}
}
@media (max-width:720px){
  html[data-design="terracotta"] body .tc-hero .hero__overlay{background:linear-gradient(180deg,rgba(46,33,27,.5),rgba(46,33,27,.55) 50%,rgba(46,33,27,.65))}
}
/* FIRST SCREEN: base overlap 58px, card 205 + 16 -> --fold-room (home.css). */
@media (min-width:721px){
  html[data-design="terracotta"] body .tc-hero{min-height:min(860px,calc(100svh - var(--fold-room)))}
}
html[data-design="terracotta"] .tc-booking .booking__card{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow)}

/* Welcome: centred, the facts as plaster tags with stars. */
html[data-design="terracotta"] .tc-welcome{text-align:center}
html[data-design="terracotta"] .tc-welcome .eyebrow{justify-content:center}
html[data-design="terracotta"] .tc-welcome h2{font-size:clamp(2.2rem,4.4vw,3.6rem);max-width:20ch;margin:.5rem auto 1.2rem}
html[data-design="terracotta"] .tc-welcome__body{max-width:62ch;margin:0 auto}
html[data-design="terracotta"] .tc-welcome__body p{font-size:1.08rem;line-height:1.8;color:var(--text)}
html[data-design="terracotta"] .tc-pills{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin:1.6rem 0 0;padding:0}
html[data-design="terracotta"] .tc-pills li{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:6px;background:var(--white);border:1px solid var(--line);font-weight:600;color:var(--ink)}
html[data-design="terracotta"] .tc-pills svg{color:var(--tc-clay)}
html[data-design="terracotta"] .tc-pills--sm{justify-content:flex-start;margin:.8rem 0}
html[data-design="terracotta"] .tc-pills--sm li{padding:.3rem .7rem;font-size:.85rem;font-weight:500}

/* Hotels: arched photographs in a row, plaster captions (phones: the swipe row). */
html[data-design="terracotta"] .tc-shore{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:10px;overflow:hidden}
html[data-design="terracotta"] .tc-shore__media{display:block;aspect-ratio:4/3;overflow:hidden}
html[data-design="terracotta"] .tc-shore__media img{width:100%;height:100%;object-fit:cover}
html[data-design="terracotta"] .tc-shore__body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;flex:1}
html[data-design="terracotta"] .tc-shore__place{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--tc-clay)}
html[data-design="terracotta"] .tc-shore h3{margin:.3rem 0 .4rem;font-size:1.45rem}
html[data-design="terracotta"] .tc-shore h3 a{color:var(--ink);text-decoration:none}
html[data-design="terracotta"] .tc-shore__desc{margin:0 0 .9rem;color:var(--text)}
html[data-design="terracotta"] .tc-shore__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin-top:auto}
@media (min-width:721px){
  html[data-design="terracotta"] .tc-bento{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.4rem;margin-top:2.6rem}
  html[data-design="terracotta"] body .tc-bento > .tc-shore{background:none;border:0;border-radius:0;overflow:visible;text-align:center}
  html[data-design="terracotta"] .tc-bento .tc-shore__media{aspect-ratio:3/4;clip-path:var(--tc-arch)}
  html[data-design="terracotta"] .tc-bento .tc-shore__body{align-items:center;padding:1rem 0 0}
  html[data-design="terracotta"] .tc-bento .tc-shore__desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.95rem}
  html[data-design="terracotta"] .tc-bento .tc-shore__actions{flex-direction:column;align-items:center;gap:.2rem}
  html[data-design="terracotta"] .tc-bento .tc-shore:hover .tc-shore__media img{transform:scale(1.04)}
  html[data-design="terracotta"] .tc-bento .tc-shore__media img{transition:transform .8s var(--ease)}
}

/* Finder: blue tabs, the match in an arch. */
html[data-design="terracotta"] .tc-finder{background:var(--paper-2)}
html[data-design="terracotta"] .tc-finder .router__result{background:none;border:0}
@media (min-width:721px){
  html[data-design="terracotta"] body .tc-bigpills{justify-content:center;gap:.6rem;margin:1.8rem 0 2.2rem}
  html[data-design="terracotta"] body .tc-bigpills .chip{min-height:48px;padding:0 1.2rem;background:var(--white);border:1px solid var(--line);color:var(--ink);font-weight:600;transform:none}
  html[data-design="terracotta"] body .tc-bigpills .chip[aria-pressed="true"]{background:var(--tc-blue);border-color:var(--tc-blue);color:#fff}
  html[data-design="terracotta"] .tc-finder__answer .match.is-current{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:0 3rem;align-items:center;max-width:980px;margin:0 auto}
  html[data-design="terracotta"] .tc-finder__answer .match__thumb{grid-row:1 / span 2;width:100%;height:auto;aspect-ratio:4/5;border-radius:0;clip-path:var(--tc-arch)}
  html[data-design="terracotta"] .tc-finder__answer .match__body h3{font-size:clamp(1.9rem,3vw,2.6rem)}
  html[data-design="terracotta"] .tc-finder__answer .match__cta{flex-direction:row;align-items:center;gap:1.2rem;margin-top:1rem}
}
@media (max-width:720px){
  html[data-design="terracotta"] body #routerResult.tc-finder__answer{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);scroll-padding-inline:var(--gutter)}
}

/* Offers: plaster cards in a tile frame, the discount in a blue star. */
html[data-design="terracotta"] .tc-ticket{position:relative;display:flex;flex-direction:column;background:var(--white);box-shadow:var(--shadow-soft)}
html[data-design="terracotta"] .tc-ticket__media{position:relative;aspect-ratio:16/10;min-height:0}
html[data-design="terracotta"] body .tc-ticket__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
html[data-design="terracotta"] body .tc-ticket__badge{position:absolute;right:.6rem;bottom:-2.2rem;left:auto;top:auto;display:grid;place-items:center;width:96px;height:96px;padding:1.4rem;background:var(--tc-blue)!important;color:#fff!important;border:0!important;clip-path:var(--tc-star);font-family:var(--f-display);font-size:.95rem!important;line-height:1.05;text-align:center;text-transform:none;letter-spacing:0}
html[data-design="terracotta"] .tc-ticket__body{padding:1.2rem 1.1rem .6rem}
html[data-design="terracotta"] .tc-ticket__where{margin:0;padding-right:5.4rem;font-size:.85rem;font-weight:700;color:var(--tc-clay)}
html[data-design="terracotta"] body .tc-ticket__where .beach{font-size:inherit;letter-spacing:0;text-transform:none;font-weight:500;color:var(--muted)}
html[data-design="terracotta"] .tc-ticket .offer__name{margin:.4rem 0 .6rem;font-family:var(--f-display);font-size:1.4rem;font-weight:400;color:var(--ink)}
html[data-design="terracotta"] .tc-ticket__stub{margin-top:auto;padding:.9rem 1.1rem 1.1rem;border-top:1px solid var(--line)}
@media (min-width:721px){
  html[data-design="terracotta"] .tc-tickets{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.6rem;margin-top:2.6rem}
}

/* Scores: each inside an eight-point star. */
html[data-design="terracotta"] .tc-rings{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:1.6rem 2.4rem;margin:2.4rem 0 0;padding:0}
html[data-design="terracotta"] .tc-rings li{display:flex;flex-direction:column;align-items:center;text-align:center;width:150px}
html[data-design="terracotta"] .tc-rings b{display:grid;place-items:center;width:112px;height:112px;margin-bottom:.7rem;background:var(--tc-clay);color:#fff;clip-path:var(--tc-star);font-family:var(--f-display);font-size:1.8rem;font-weight:400}
html[data-design="terracotta"] .tc-rings span{font-family:var(--f-display);font-size:1.1rem;color:var(--ink)}
html[data-design="terracotta"] .tc-rings small{color:var(--muted)}
html[data-design="terracotta"] .tc-rings__award{margin-top:1.6rem;text-align:center;color:var(--text)}

@media (min-width:901px){
  html[data-design="terracotta"] .tc-faq .faq__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;max-width:none;align-items:start}
}

/* Close: the photograph in a wide arch, the words on plaster beside it. */
html[data-design="terracotta"] body .tc-close{background:var(--paper);padding-block:clamp(56px,8vw,110px)}
html[data-design="terracotta"] .tc-close__card{display:grid;gap:2rem;align-items:center}
html[data-design="terracotta"] .tc-close__img{width:100%;aspect-ratio:4/5;object-fit:cover;clip-path:var(--tc-arch)}
html[data-design="terracotta"] .tc-close__text h2{font-size:clamp(2rem,3.6vw,3rem);margin:0 0 .8rem}
html[data-design="terracotta"] .tc-close__text p{margin:0 0 1.2rem;color:var(--text)}
html[data-design="terracotta"] .tc-close__text::before{content:"";display:block;width:120px;height:9px;margin-bottom:1.4rem;background:var(--tc-tiles);background-size:9px 9px}
html[data-design="terracotta"] .tc-close__note{margin-top:.8rem;font-size:.88rem;color:var(--muted)}
@media (min-width:721px){
  html[data-design="terracotta"] .tc-close__card{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2.4rem,6vw,5rem)}
}

/* Hotel page: facts in small stars. */
html[data-design="terracotta"] .tc-factpills{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2rem;margin:clamp(2rem,4vw,3rem) 0 0;padding:0}
html[data-design="terracotta"] .tc-factpills li{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:120px}
html[data-design="terracotta"] .tc-factpills b{font-family:var(--f-display);font-size:clamp(2rem,3.4vw,2.8rem);font-weight:400;color:var(--tc-clay);line-height:1.1}
html[data-design="terracotta"] .tc-factpills span{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:.3rem}

/* Hotel page: rooms and restaurants. */
html[data-design="terracotta"] .tc-card{display:flex;flex-direction:column;color:var(--text);text-decoration:none;background:var(--white);border:1px solid var(--line);border-radius:10px;overflow:hidden}
html[data-design="terracotta"] .tc-card__media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--paper-2)}
html[data-design="terracotta"] .tc-card__media img{width:100%;height:100%;object-fit:cover}
html[data-design="terracotta"] .tc-card__pill{position:absolute;left:.8rem;top:.8rem;padding:.3rem .7rem;border-radius:6px;background:var(--tc-blue);color:#fff;font-weight:700;font-size:.82rem}
html[data-design="terracotta"] .tc-card__body{display:flex;flex-direction:column;padding:1rem 1.1rem 1.1rem}
html[data-design="terracotta"] .tc-card h3{margin:0 0 .3rem;font-size:1.5rem}
html[data-design="terracotta"] .tc-card__desc{display:block;color:var(--text)}
html[data-design="terracotta"] .tc-card__hours{display:block;margin-bottom:.4rem;font-size:.9rem;color:var(--muted)}
html[data-design="terracotta"] .tc-card__note{display:block;margin-top:.4rem;font-size:.85rem;color:var(--muted)}
html[data-design="terracotta"] .tc-card.is-nomedia .tc-card__media{display:none}
@media (min-width:721px){
  html[data-design="terracotta"] .tc-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.6rem;margin-top:2.6rem}
  html[data-design="terracotta"] body .tc-rooms .tc-card{background:none;border:0;border-radius:0;overflow:visible;text-align:center}
  html[data-design="terracotta"] .tc-rooms .tc-card__media{aspect-ratio:3/4;clip-path:var(--tc-arch)}
  html[data-design="terracotta"] .tc-rooms .tc-card__pill{left:50%;top:auto;bottom:.8rem;transform:translateX(-50%)}
  html[data-design="terracotta"] .tc-rooms .tc-card__body{align-items:center;padding:1rem 0 0}
  html[data-design="terracotta"] .tc-cards--two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
}

/* Hotel page: facilities with the icon inside a star. */
html[data-design="terracotta"] .tc-iconrows{list-style:none;margin:2.2rem 0 0;padding:0;display:grid;gap:.9rem}
html[data-design="terracotta"] .tc-iconrows li{display:flex;gap:1rem;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:1rem 1.2rem}
html[data-design="terracotta"] .tc-iconrows__ic{flex:none;display:grid;place-items:center;width:56px;height:56px;background:var(--tc-sand);color:var(--tc-blue);clip-path:var(--tc-star)}
html[data-design="terracotta"] .tc-iconrows h3{margin:.2rem 0 .2rem;font-size:1.2rem}
html[data-design="terracotta"] .tc-iconrows p{margin:0;font-size:.95rem;color:var(--text)}
@media (min-width:721px){
  html[data-design="terracotta"] .tc-iconrows{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Hotel page: gallery in arches. */
html[data-design="terracotta"] .tc-masonry a{display:block;overflow:hidden;background:var(--paper-2);clip-path:var(--tc-arch)}
html[data-design="terracotta"] .tc-masonry img{width:100%;height:100%;object-fit:cover}
@media (max-width:720px){
  html[data-design="terracotta"] .tc-masonry > a{height:280px}
}
@media (min-width:721px){
  html[data-design="terracotta"] .tc-masonry{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem;margin-top:2.6rem}
  html[data-design="terracotta"] .tc-masonry a{aspect-ratio:2/3}
}

/* Hotel page: the map with the address on a plaster card. */
html[data-design="terracotta"] .tc-where__frame{position:relative;margin-top:2.4rem}
html[data-design="terracotta"] .tc-where__map{position:relative;z-index:0;height:320px;}
html[data-design="terracotta"] .tc-where__map #resort-map{width:100%;height:100%}
html[data-design="terracotta"] .tc-where__card{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:1.4rem;margin-top:1rem;box-shadow:var(--shadow)}
html[data-design="terracotta"] .tc-where__card h3{font-size:1.6rem;margin:0 0 .5rem}
html[data-design="terracotta"] .tc-where__card address{font-style:normal;color:var(--ink);line-height:1.6}
html[data-design="terracotta"] .tc-where__contact{list-style:none;margin:.8rem 0 0;padding:0}
html[data-design="terracotta"] .tc-where__contact a{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;color:var(--ink)}
html[data-design="terracotta"] .tc-where__contact svg{color:var(--tc-clay)}
html[data-design="terracotta"] .tc-where__go{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
@media (min-width:901px){
  html[data-design="terracotta"] .tc-where__map{height:clamp(460px,46vw,580px)}
  html[data-design="terracotta"] .tc-where__card{position:absolute;z-index:1;top:1.6rem;left:1.6rem;width:min(380px,40%);margin:0}
}

/* ---------- TILE STRIPS: a row of zellige tiles painted along the top edge
   (a background layer, so it works everywhere). ---------- */
html[data-design="terracotta"]{--tc-tile-img:conic-gradient(from 45deg,var(--tc-blue) 25%,var(--tc-plaster) 0 50%,var(--tc-clay) 0 75%,var(--tc-plaster) 0)}
html[data-design="terracotta"] :is(.section--ink,.faq-band,.site-footer,.footstrip){background:var(--tc-tile-img) top left/14px 14px repeat-x,var(--paper-2);padding-top:max(14px,var(--pt,0px))}
html[data-design="terracotta"] .site-footer{padding-top:clamp(70px,8vw,110px)}
html[data-design="terracotta"] .footstrip{padding-top:clamp(2.8rem,4.4vw,3.8rem)}
html[data-design="terracotta"] .footstrip + .site-footer{background:var(--paper-2)}
html[data-design="terracotta"] body :is(.offer-row,.tc-ticket,.aw-band){border:1px solid var(--line);background:var(--tc-tile-img) top left/10px 10px repeat-x,var(--white);padding-top:10px}
html[data-design="terracotta"] .tc-where__map{border:1px solid var(--line)}
@media (min-width:721px){
  html[data-design="terracotta"] body .tc-hero .hero__inner > .hero__eyebrow{background:var(--tc-tile-img) top left/10px 10px repeat-x,var(--paper)}
  html[data-design="terracotta"] body .tc-hero h1{text-shadow:none}
}
/* The hotels in arches: no card box behind them on computers. */
@media (min-width:721px){
  html[data-design="terracotta"] body .tc-bento > .tc-shore{box-shadow:none}
}

@media (prefers-reduced-motion:reduce){
  html[data-design="terracotta"] *{transition:none!important}
}
