/* ORIZON readability revision, 22 October 2026. Shared by React and standalone offers. */
:root { --readable-placeholder: #bdc6b8; }
a, button, input, textarea, select, summary { touch-action: manipulation; }
:where(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid #b39149; outline-offset: 5px;
}
input:not([type="checkbox"]):not([type="radio"]), textarea, select { font-size: 16px; }
.input-grid input::placeholder, .input-grid textarea::placeholder,
.carnet-form input::placeholder { color: var(--readable-placeholder); opacity: 1; }
.input-grid input, .input-grid textarea { border-bottom-color: #92a18a; }
.choice { border-color: #92a18a; }
.choice:hover, .choice:focus-visible { background: #f0f1e6; color: #263b2a; }
.direct-contact a, .compact-direct-contact a { font-size: 15px; line-height: 1.7; }
.direct-contact { gap: 10px; }
.header-cta, .orizon-header-cta { font-size: 12px; letter-spacing: .07em; }
.desktop-nav { font-size: 14px; gap: 18px; }
.home-compact > .site-header .desktop-nav, .orizon-global-header .desktop-nav { font-size: 14px; gap: 18px; }
.language-switch { font-size: 12px; letter-spacing: .07em; gap: 9px; }
.language-switch a { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; min-width: 28px; }
.header-language-switch { display: none; }
.guide-card-actions a { font-size: 13px; min-height: 44px; letter-spacing: .06em; }
.guide-card-meta, .guide-card-index { font-size: 12px; letter-spacing: .06em; }
.guide-access-fields label, .guide-access-consent, .guide-access-form > small { font-size: 13px; line-height: 1.6; }
.guide-access-fields input::placeholder { color: #bdc6b8; opacity: 1; }
.legal-back, .legal-footer { font-size: 13px; line-height: 1.6; }
.footer-contact, .footer-nav { font-size: 14px; }
.compact-profession-grid small, .compact-testimonial-grid footer strong,
.compact-testimonial-grid footer span, .compact-guide-visual p span { font-size: 12px; line-height: 1.65; letter-spacing: .07em; }
.hero-motion-toggle { min-width: 44px; min-height: 44px; }
.form-error, .form-end p { font-size: 14px; }
.form-end p { color: #c4cebd; }
.client-login-page .client-language button,
.client-login-page .client-kicker,
.client-login-page .client-login-form label { font-size: 13px; }

/* One-column story cards on phones; keep the four-column collection on desktop. */
.readability-play .universe-card > p:last-child,
.readability-play .intro-text p:not(:first-child),
.readability-play .section-heading > p:not(.eyebrow),
.readability-play .section-head > p,
.readability-play .product > p:not(.product-sub),
.readability-play .feature-copy > p:not(.lead),
.readability-play .sense-panel p:not(.eyebrow),
.readability-play .steps p,
.readability-play .book-card > p:not(.eyebrow):not(.book-author),
.readability-play .guide-copy > p:not(.eyebrow):not(.lead),
.readability-play .faq details > p,
.readability-play .closing p:not(.eyebrow) { font-size: 16px; line-height: 1.75; }
.readability-play .universe-card .eyebrow { font-size: 12px; letter-spacing: .07em; }
.readability-play .fine, .readability-play .image-note,
.readability-play .book-author, .readability-play .preview-note { font-size: 13px; line-height: 1.65; }
.readability-play .button, .readability-play .text-link,
.readability-play .guide-form label { font-size: 14px; }
.readability-play .guide-form .fine { font-size: 13px; }
.readability-play input::placeholder { color: #626d5b; opacity: 1; }
.readability-play .hero h1 { max-width: 730px; }
.readability-offers .offer-card .btn, .readability-offers .filters button { font-size: 13px; }
.readability-offers .eyebrow, .readability-offers .kicker { font-size: 12px; }
.readability-offers .btn, .readability-offers .button { min-height: 48px; }
.readability-offers .fine { font-size: 13px; line-height: 1.65; }
.readability-offers input::placeholder { color: #626d5b; opacity: 1; }
.readability-offers .lang a { min-width: 30px; min-height: 36px; display: inline-flex; align-items: center; justify-content: center; }
.orizon-wayfinding .orizon-wayfinding-language,
.orizon-wayfinding .orizon-wayfinding-language a,
.english-play-languages a { font-size: 12px !important; }
.orizon-wayfinding a { min-height: 30px; }
/* Villa pages already have language controls in their main header. */
html[data-villa-page] .orizon-wayfinding .orizon-wayfinding-language { display: none; }

@media (max-width: 1300px) {
  .header-language-switch { display: inline-flex; justify-self: end; }
  .site-header { grid-template-columns: 1fr auto auto auto; gap: 16px; }
  .home-compact > .site-header, .site-header.orizon-global-header { grid-template-columns: 1fr auto auto; gap: 16px; }
  .home-compact > .site-header > .header-language-switch,
  .site-header.orizon-global-header > .header-language-switch { padding-left: 0; margin-left: 0; }
  .mobile-menu-toggle { font-size: 12px; }
}
@media (max-width: 800px) {
  .site-header { grid-template-columns: 1fr auto auto; gap: 10px; padding-inline: 16px; }
  .home-compact > .site-header { grid-template-columns: 1fr auto auto; gap: 10px; padding-inline: 16px; }
  .site-header.orizon-global-header { grid-template-columns: 1fr auto auto; gap: 10px; padding-inline: 16px; }
  .site-header .brand-logo-single { width: clamp(118px, 36vw, 175px); height: 64px; max-width: none; }
  .home-compact > .site-header .brand-logo-single,
  .site-header.orizon-global-header .brand-logo-single { width: clamp(118px, 36vw, 175px); max-width: none; height: 64px; }
  .header-language-switch { gap: 4px; font-size: 12px; }
  .header-language-switch a { min-width: 22px; min-height: 38px; }
  .mobile-menu-toggle { padding: 11px 12px; gap: 9px; }
  .mobile-menu-copy small { font-size: 14px; }
  .mobile-menu-contact > small { font-size: 12px; }
  .mobile-menu-panel { padding-inline: 24px; }
  .orizon-wayfinding { gap: 10px !important; padding-inline: 14px; flex-wrap: wrap !important; }
  .english-play-languages { margin-left: auto; }
}
@media (max-width: 600px) {
  /* A garden view between the title and introduction, without duplicate imagery or text. */
  .home-compact .compact-hero { display: flex; flex-direction: column; padding-top: 28px; }
  .home-compact .compact-hero .hero-copy { display: contents; }
  .home-compact .compact-hero .hero-copy > .eyebrow { order: 0; margin: 0 22px 18px; font-size: 12px; line-height: 1.6; letter-spacing: .1em; }
  .home-compact .compact-hero h1 { order: 1; margin: 0 22px 24px; font-size: clamp(42px, 12vw, 60px); line-height: .98; }
  .home-compact .compact-hero .hero-visual { order: 2; min-height: 250px; height: 250px; width: 100%; }
  .home-compact .compact-hero .hero-visual > img,
  .home-compact .compact-hero .hero-motion-video { object-position: 50% 64%; }
  .home-compact .compact-hero .visual-note { left: 22px; bottom: 22px; right: 22px; }
  .home-compact .compact-hero .visual-note p { font-size: 19px; }
  .home-compact .compact-hero .hero-intro { order: 3; margin: 25px 22px 22px; font-size: 17px; line-height: 1.7; }
  .home-compact .compact-hero .hero-actions { order: 4; margin-inline: 22px; gap: 12px; width: calc(100% - 44px); }
  .home-compact .compact-hero .hero-actions .button { width: 100%; padding: 15px 20px; font-size: 12px; }
  .home-compact .compact-hero .hero-actions .text-link { font-size: 14px; }
  .home-compact .compact-hero .compact-territory { order: 5; margin: 0 22px 30px; padding-top: 22px; font-size: 12px; line-height: 1.7; letter-spacing: .06em; }
  .readability-play .universe-grid { grid-template-columns: 1fr; gap: 34px; }
  .readability-play .universe-image { aspect-ratio: 1.45; margin-bottom: 18px; }
  .readability-play .universe-card h3 { min-height: 0; font-size: 30px; margin-bottom: 12px; }
  .readability-play .universe-card .eyebrow { min-height: 0; margin-bottom: 10px; }
  .readability-play .hero h1 { font-size: 44px; line-height: 1.08; }
  .readability-play .hero .eyebrow { font-size: 12px; }
  .readability-play .hero-caption { font-size: 12px; max-width: 280px; text-align: right; line-height: 1.5; }
  .readability-play .hero-inner { padding-top: 120px; padding-bottom: 85px; }
  .readability-play .hero-lead { font-size: 16px; }
  .readability-play .hero-notes { gap: 12px; flex-wrap: wrap; font-size: 12px; }
  .readability-play .hero h1 br { display: none; }
  .readability-play .hero-lead br { display: none; }
  .readability-play .topline { display: none; }
  .readability-offers .nav:has(.pill) { height: auto; min-height: 90px; flex-wrap: wrap; gap: 12px; padding-block: 14px; }
}
@media (max-width: 360px) {
  .site-header { padding-inline: 12px; gap: 6px; }
  .home-compact > .site-header, .site-header.orizon-global-header { padding-inline: 12px; gap: 6px; }
  .mobile-menu-toggle { padding-inline: 9px; gap: 7px; }
  .header-language-switch { gap: 2px; }
  .header-language-switch a { min-width: 20px; }
  .readability-play .form-row { grid-template-columns: 1fr; }
}


/* Updated kitchen collection: local preview, October 2026. */
.readability-play .kitchens .product{display:flex;flex-direction:column;min-width:0;padding:26px 24px;background:#f7f3e8;border:1px solid #d5d7c9;border-radius:8px;scroll-margin-top:110px}
.readability-play .kitchens .product-image{height:220px;margin:12px 0 24px;mix-blend-mode:multiply}
.readability-play .kitchens .product-sub{font-size:21px;line-height:1.4;color:#536346;min-height:60px;margin-bottom:12px}
.readability-play .kitchens p.dimension{font:600 14px/1.5 var(--sans);white-space:normal;min-height:44px!important;color:#3f5139;margin:0 0 16px}
.readability-play .kitchens .product>p:not(.product-sub):not(.dimension){min-height:100px;line-height:1.6}
.readability-play .kitchens .product ul{font-size:15px;line-height:1.6;padding-left:19px;margin:12px 0 26px}
.readability-play .kitchens .product li{margin-bottom:12px}
.product-quote{margin-top:auto;padding-top:20px;border-top:1px solid #c9cdbb;display:flex;gap:12px;flex-direction:column}.product-quote strong{font:26px var(--serif);color:#34472e}.product-quote .text-link{line-height:1.5}
.kitchen-details{margin:38px 0;padding:30px;background:#eef0e5;border-left:3px solid #788363}.kitchen-details h3{font-size:26px}.kitchen-details p{font-size:16px;line-height:1.75;max-width:100ch}.kitchens{scroll-margin-top:95px}
@media(max-width:1100px){.readability-play .kitchens .product{padding:22px 18px}.readability-play .kitchens .product-image{height:180px}}
@media(max-width:860px){.readability-play .kitchens .product-grid{grid-template-columns:1fr}.readability-play .kitchens .product-image{height:260px}.readability-play .kitchens .product-sub,.readability-play .kitchens .product>p:not(.product-sub):not(.dimension),.readability-play .kitchens p.dimension{min-height:0!important}.kitchen-details{padding:22px}.readability-play .kitchens .product{padding:24px}}
.readability-play .kitchens,.readability-play .kitchens .product{scroll-margin-top:0}
@media(max-width:860px){.readability-play .kitchens .product-image{height:180px}}
.readability-play .site-header{background:#faf8f1}

/* Final review corrections: contrast refinements, shared by FR and EN. */
.guide-card-meta small{color:#56634f}
.client-login-page .client-language,.client-login-page .client-privacy-note,.client-login-page .client-back-link{color:#56634f}
.client-login-page .client-language{font-size:13px}
.client-login-page .client-login-form input::placeholder{color:#56634f;opacity:1}
.client-login-page .client-language button{min-width:36px;min-height:36px}
.ozc-page{--ozc-terra:#93492f}
.ozc-page .ozc-direction{background:#4d5b3c}
.ozc-page .ozc-support{background:#93492f}
.ozc-page .ozc-resources{background:#4f5b3d}
.ozc-page .ozc-resources .ozc-section-heading>p,.ozc-page .ozc-doc-tag,.ozc-page .ozc-doc-mini p,.ozc-page .ozc-support-scope{color:#fff9eb}
html[data-villa-page]{--sage:#4d5b3c;--terra:#93492f}
.readability-mediterranean{--terra:#93492f}
.download-size{font-size:12px;line-height:1.5;white-space:nowrap;font-weight:500;letter-spacing:0;color:inherit}
.oz-discover-v2 .oz2-language{gap:8px;letter-spacing:.04em}
.oz-discover-v2 .oz2-language a{min-width:32px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;color:#f8f5eb}
.oz-discover-v2 .oz2-language a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
@media(max-width:760px){.oz-discover-v2 .oz2-header-contact{display:none}.oz-discover-v2 .oz2-header nav{gap:12px}.oz-discover-v2 .oz2-language{display:inline-flex}}
.ozc-page .ozc-button-terra{background:#93492f}
.ozc-page .ozc-direction{background:#435033}
.ozc-page .ozc-carnet .ozc-doc-tag{color:#263628}
html[data-villa-page]{--sage:#435033}
.oz-preview-mediterranee{--terra:#93492f}

/* Full-site review: captions, small print and action colours, FR / EN. */
.home-compact .visual-note{background:#57634f}
.compact-profession-grid article>span,.compact-method-grid article>span,
.compact-proof-list article>span,.compact-testimonial-number,
.charter-card-copy>span{color:#56634f}
.compact-guide-form>small{color:#c4cebd}
.compact-proof figure figcaption,.carnet-cover figcaption{
  background:#263b2a;color:#fffdf6;padding:9px 12px;border-radius:3px;
  line-height:1.65;text-shadow:none;
}
.carnet-page.tone-water{--carnet-accent:#4e6e50}
.carnet-page.tone-living{--carnet-accent:#516932}
.carnet-page.tone-estate{--carnet-accent:#756044}
.carnet-hero-copy>small,.legal-update{color:#56634f}
.carnet-footer-legal,.carnet-footer-legal a,.legal-footer,.legal-footer a{color:#c4cebd}
.readability-offers-hub .intro p,.readability-offers-hub .card-kicker,
.readability-offers-hub .strip p{color:#4d634d}
.readability-mediterranean .guide .micro{color:#4d5b3c}
.faq-list summary>span{color:#56634f}
.oz-preview-mediterranee .contact .micro{color:#4d5b3c}
.readability-offers-hub .card .desc{font-size:16px;line-height:1.7}
@media(max-width:360px){
  .orizon-site-header{padding-inline:12px;gap:8px}
  .orizon-site-brand{width:150px;max-width:48vw}
  .orizon-menu-toggle{gap:8px}
}
@media(max-width:360px){.oz-preview-mediterranee .article h1{font-size:36px;overflow-wrap:anywhere}}
