/* Carte en ligne — affichage client (commun à tous les thèmes) */
/* Remise à zéro limitée à la carte (la page publique ne charge ni thème ni Elementor) */
:where(.t) *,:where(.t) *::before,:where(.t) *::after{box-sizing:border-box;margin:0;padding:0}
:where(.t) button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
:where(.t) input{font:inherit;color:inherit}
:where(.t) img{display:block;max-width:100%}
/* Page publique : pleine largeur sur téléphone, colonne centrée sur ordinateur */
body.cel-public{margin:0;background:var(--t-bg,#faf8f3);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}
.cel-public .t{max-width:640px;margin:0 auto;min-height:100vh}
.cel-public .t-head{padding-top:max(28px, env(safe-area-inset-top))}
.t{--t-bg:#faf8f3;--t-gold:#9a7d3a;--t-ink:#111;--t-line:#e6e1d4;--t-card:#f3eee2;--t-soft:#8a8474}
/* ===== VUE CLIENT (Terraméa) ===== */
  .t{--t-f-serif:"Cormorant Garamond",Georgia,serif;--t-f-ui:"Quicksand",sans-serif;font-family:var(--t-f-serif);color:var(--t-ink);background:var(--t-bg);--fs:1;min-height:100%}
  .t-logo-img{display:block;margin:0 auto;height:118px;width:auto}
  .t-logo-img.sm{height:52px}
  .t-head{position:sticky;top:0;background:var(--t-bg);z-index:2;padding:28px 20px 0;border-bottom:1px solid var(--t-line)}
  .t-logo{text-align:center;font-style:italic;font-weight:600;font-size:2.1rem;line-height:1;letter-spacing:-.01em}
  .t-logo::before{content:"";display:block;width:70px;height:6px;margin:0 auto 6px;border-radius:50%;background:linear-gradient(90deg,transparent,#8b8a3f,transparent)}
  .t-logo.sm{font-size:1.5rem}
  .t-logo.sm::before{width:50px;height:4px;margin-bottom:4px}
  .t-top{display:grid;grid-template-columns:34px 1fr 34px;align-items:center}
  .t-back{width:34px;height:34px;border-radius:50%;background:var(--t-card);color:var(--t-gold);font-size:1.3rem;line-height:1;display:grid;place-items:center;font-family:var(--t-f-ui);font-weight:700}
  .t-bar{display:flex;justify-content:space-between;align-items:center;margin:12px 0 10px}
  .t-langs{display:flex;background:#fff;border:1px solid var(--t-line);border-radius:999px;padding:3px}
  .t-langs button{font-family:var(--t-f-ui);font-weight:600;font-size:.72rem;padding:5px 11px;border-radius:999px;color:#777}
  .t-langs button.on{background:var(--t-gold);color:#fff}
  .t-aplus{font-family:var(--t-f-serif);font-weight:600;width:34px;height:30px;border-radius:8px;background:#efe9da;color:var(--t-gold)}
  .t-aplus.on{background:var(--t-gold);color:#fff}
  .t-page-title{text-align:center;font-style:italic;font-weight:600;color:var(--t-gold);font-size:1.25rem;margin-top:2px}
  .t-search{position:relative;margin-bottom:10px}
  .t-search input{width:100%;font-family:var(--t-f-ui);font-size:.84rem;font-weight:500;padding:9px 14px 9px 34px;border-radius:999px;border:1px solid var(--t-line);background:#fff;outline:0}
  .t-search input:focus{border-color:var(--t-gold)}
  .t-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:15px;height:15px;stroke:var(--t-soft);fill:none;stroke-width:2}
  .t-nav{display:flex;gap:18px;overflow-x:auto;scrollbar-width:none;font-family:var(--t-f-ui);font-size:.78rem;font-weight:600;color:#888;padding-bottom:10px}
  .t-nav::-webkit-scrollbar{display:none}
  .t-nav a{white-space:nowrap;text-decoration:none;color:inherit}
  .t-nav a:hover{color:var(--t-gold)}
  .t-body{padding:6px 20px 40px}
  .t-cat{padding-top:24px}
  .t-cat h2{font-style:italic;font-weight:600;color:var(--t-gold);font-size:calc(1.9rem * var(--fs));line-height:1.1;margin-bottom:6px}
  .t-group{font-style:italic;font-weight:600;color:var(--t-gold);font-size:calc(1.9rem * var(--fs));line-height:1.1;padding-top:10px}
  .t-cat.sub{padding-top:14px}
  .t-cat.sub h2{font-family:var(--t-f-ui);font-style:normal;font-weight:700;font-size:calc(.72rem * var(--fs));letter-spacing:.14em;text-transform:uppercase;color:var(--t-soft);margin-bottom:0}
  .t-thead{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;padding:6px 0 4px;border-bottom:1px solid var(--t-line)}
  .t-cols{display:flex;gap:6px;flex-shrink:0}
  .t-cols span{width:48px;text-align:right}
  .t-thead .t-cols span{font-family:var(--t-f-ui);font-size:.6rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--t-soft);line-height:1.2}
  .t-item{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--t-line);transition:background .6s}
  .t-item:last-child{border-bottom:0}
  .t-item p{font-weight:600;font-size:calc(1.08rem * var(--fs));line-height:1.35}
  .t-item p.t-title{font-weight:600;font-size:calc(1.18rem * var(--fs));line-height:1.2;margin-bottom:2px}
  .t-item p.t-desc{font-weight:500;font-size:calc(.98rem * var(--fs));color:#6b675c;line-height:1.35}
  .t-price,.t-item .t-cols span{font-family:var(--t-f-ui);font-weight:500;font-size:calc(.9rem * var(--fs));white-space:nowrap;padding-top:2px}
  .t-item .t-cols span.na{color:#bbb}
  .t-vars{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-family:var(--t-f-ui);font-size:calc(.8rem * var(--fs));color:#6b675c}
  .t-vars b{color:var(--t-ink);font-weight:600;margin-left:4px}
  .t .t-item p.t-alg,.t-alg{font-family:var(--t-f-ui);font-weight:400;font-style:normal;font-size:calc(.74rem * var(--fs));line-height:1.35;color:var(--t-soft);margin-top:5px}
  .t-alg span{font-weight:600;letter-spacing:.02em}
  .t-none{text-align:center;font-style:italic;color:#999;padding:40px 0;font-size:1.1rem}
  .t-foot{text-align:center;font-family:var(--t-f-ui);font-size:.72rem;color:#999;padding:20px;display:grid;gap:8px;justify-items:center}
  .t-foot-legal{color:var(--t-soft)}
  .t-sig{order:99;display:inline-flex;align-items:center;gap:7px;margin-top:10px;color:inherit;opacity:.6;text-decoration:none;font-family:"Bodoni Moda","Bodoni 72",Didot,"Hoefler Text",Georgia,serif;font-size:.86rem;letter-spacing:.01em;line-height:1}
  .t-sig:hover{opacity:.9}
  .t-sig i{font-style:italic}
  .t-sig b{font-weight:400;color:#b08d4a}
  @media print{.t-sig{display:none}}
  .t-social{display:flex;gap:16px;justify-content:center}
  .t-social a{color:var(--t-gold);text-decoration:none;font-weight:600}
  .flash{background:#f3ead0!important}
  /* Recherche dans toutes les cartes : résultats des autres cartes, cliquables */
  .t-others-k{margin:30px 0 4px}
  .t-home .t-others-k{margin-top:4px}
  .t-found{cursor:pointer}
  .t-found:hover p:first-child{color:var(--t-gold)}
  /* accueil */
  .t-home{padding:22px 20px 30px}
  .t-feat{background:var(--t-card);border-radius:20px;padding:18px 18px 8px;margin-bottom:22px}
  .t-feat-k{font-family:var(--t-f-ui);font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--t-gold)}
  .t-feat h2{font-style:italic;font-weight:600;font-size:calc(1.7rem * var(--fs));line-height:1.1;margin:2px 0 4px}
  .t-feat h3{font-family:var(--t-f-ui);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--t-soft);margin-top:10px}
  .t-feat .t-item{border-color:#e2dac6}
  .t-tiles-k{font-family:var(--t-f-ui);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#999;margin:4px 0 12px;text-align:center}
  .t-tiles{display:grid;gap:10px}
  .t-tile{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;background:#fff;border:1px solid var(--t-line);border-radius:16px;padding:15px 18px;font-family:inherit;transition:border-color .2s,transform .2s}
  .t-tile:hover{border-color:var(--t-gold);transform:translateX(2px)}
  .t-tile b{display:block;font-style:italic;font-weight:600;font-size:calc(1.45rem * var(--fs));line-height:1.1;color:var(--t-ink)}
  .t-tile small{display:block;font-family:var(--t-f-ui);font-size:.74rem;color:var(--t-soft);margin-top:3px}
  .t-tile i{font-style:normal;color:var(--t-gold);font-family:var(--t-f-ui);font-size:1.3rem}
  .t-closed{text-align:center;padding:80px 20px;font-style:italic;color:#999;font-size:1.2rem}

  
/* ===== Sur ordinateur uniquement ===== */
/* Option « ouvrez sur votre téléphone » (rendu standard ; les mises en page Terraméa ont leur propre message)
   et petit lien discret vers l'espace de gestion, sur toutes les pages clientes. */
.cel-gate,.cel-desk-gestion{display:none}
@media (hover:hover) and (pointer:fine) and (min-width:900px){
  html:not([class*="lay-"]) body.cel-gated #client{display:none}
  html:not([class*="lay-"]) body.cel-gated .cel-gate{display:grid;place-items:center;box-sizing:border-box;min-height:100vh;max-width:none;padding:40px 24px}
  .cel-gate-box{text-align:center;max-width:420px}
  .cel-gate-logo{max-height:110px;width:auto;margin:0 auto 28px}
  .cel-gate-name{font-family:var(--t-f-serif);font-size:2.2rem;line-height:1.1;margin-bottom:28px;color:var(--t-ink)}
  .cel-gate-qr{width:190px;height:190px;margin:0 auto 26px;padding:14px;background:#fff;border:1px solid var(--t-line);border-radius:14px}
  .cel-gate-qr svg{display:block;width:100%;height:100%}
  .cel-gate-qr svg path,.cel-gate-qr svg rect[fill="black"],.cel-gate-qr svg rect:not([fill="white"]){fill:var(--t-ink)}
  .cel-gate-h{font-family:var(--t-f-serif);font-size:1.45rem;line-height:1.25;color:var(--t-ink);margin-bottom:8px}
  .cel-gate-p{font-family:var(--t-f-ui);font-size:.95rem;color:var(--t-soft)}
  .cel-gate-en{font-family:var(--t-f-ui);font-size:.8rem;color:var(--t-soft);opacity:.8;margin-top:14px}
  .cel-desk-gestion{display:block;position:fixed;right:14px;bottom:12px;z-index:2147483000;font:500 12px/1 system-ui,-apple-system,sans-serif;letter-spacing:.01em;color:#6b6b6b;background:rgba(255,255,255,.92);border:1px solid rgba(0,0,0,.1);padding:7px 11px;border-radius:6px;text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,.06)}
  .cel-desk-gestion:hover{color:#111;border-color:rgba(0,0,0,.25)}
}
/* ===== Fiche vin (base des vins corses) : petit « i » sur le vin, fiche par-dessus la carte ===== */
.cel-vin{cursor:pointer;-webkit-tap-highlight-color:transparent}
.cel-vin:focus-visible{outline:2px solid var(--t-gold,#9a7d3a);outline-offset:2px}
.cel-vin-i{display:inline-grid;place-items:center;width:1.05em;height:1.05em;margin-left:.4em;border:1px solid currentColor;border-radius:50%;font:italic 600 .62em/1 Georgia,serif;opacity:.45;vertical-align:.18em}
.t.cel-vin-layer,.cel-public .t.cel-vin-layer{position:fixed;inset:0;z-index:2147483100;max-width:none;min-height:0;margin:0;background:rgba(20,18,14,0);display:flex;align-items:flex-end;justify-content:center;transition:background .2s}
.t.cel-vin-layer.open{background:rgba(20,18,14,.42)}
.cel-vin-card{position:relative;width:100%;max-width:560px;max-height:82vh;overflow-y:auto;background:var(--t-bg,#faf8f3);color:var(--t-ink,#111);border-radius:18px 18px 0 0;padding:26px 22px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px rgba(0,0,0,.18);transform:translateY(100%);transition:transform .25s ease-out}
.cel-vin-layer.open .cel-vin-card{transform:none}
@media (min-width:700px){.t.cel-vin-layer{align-items:center}.cel-vin-card{border-radius:14px}}
@media (prefers-reduced-motion:reduce){.cel-vin-card,.t.cel-vin-layer{transition:none}}
.cel-vin-x{position:absolute;top:12px;right:12px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--t-card,#f3eee2)}
.cel-vin-x svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.cel-vin-k{font-family:var(--t-f-ui,sans-serif);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--t-gold,#9a7d3a);margin:0 40px 6px 0}
.cel-vin-card h2{font-size:1.55rem;line-height:1.15;margin:0 40px 2px 0}
.cel-vin-d{font-size:1.05rem;font-style:italic;margin:0}
.cel-vin-a{font-family:var(--t-f-ui,sans-serif);font-size:.82rem;color:var(--t-soft,#8a8474);margin:6px 0 14px}
.cel-vin-card dl{margin:0;border-top:1px solid var(--t-line,#e6e1d4)}
.cel-vin-row{display:grid;grid-template-columns:7.5em 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--t-line,#e6e1d4);font-family:var(--t-f-ui,sans-serif);font-size:.88rem;line-height:1.4}
.cel-vin-row dt{color:var(--t-soft,#8a8474);font-weight:600}
.cel-vin-row dd{margin:0}
.cel-vin-src{font-family:var(--t-f-ui,sans-serif);font-size:.7rem;color:var(--t-soft,#8a8474);margin-top:12px}

/* Carte affichée sur le site de l'établissement (cadre ?cel_embed=1, code /<client>/site.js) :
   le cadre prend la hauteur de la carte, rien ne doit dépendre de la hauteur de l'écran */
html[data-embed],html[data-embed] body{min-height:0;height:auto;overflow:hidden}
html[data-embed] .cel-public .t{min-height:0}
html[data-embed] .t-head{position:relative}
html[data-embed] .cel-public .t.cel-vin-layer{position:absolute;inset:auto 0 auto 0;top:var(--cel-view-top,0px);height:var(--cel-view-h,600px)}
html[data-embed] .cel-vin-card{max-height:calc(var(--cel-view-h,600px) * .86)}
/* Mises en page Terraméa : sans message « ouvrez sur votre téléphone », la carte reste visible sur grand écran */
@media (min-width:860px){
  html.lay-accordeon:not(:has(.fm-gate)) :is(.fm-head,.fm-spacer,.fm-main){display:block}
  html.lay-fiches:not(:has(.tm-gate)) :is(.tm-spacer,.tm-main,.tm-footer,.tm-sticky){display:block}
  html.lay-fiches:not(:has(.tm-gate)) .tm-backlink{display:flex}
}
