/*
Theme Name: Suissia
Theme URI: https://www.suissia.ch
Author: Guillaume Leroyer
Description: Thème sur-mesure pour Suissia S.A. — passerelle sino-européenne. Bilingue inline 中文 + français, édition native (Customizer + CPT + menus). Sans page builder.
Version: 1.8.7
Requires at least: 6.0
Requires PHP: 7.4
License: GPL v2 or later
Text Domain: suissia
*/

:root{
  --ink:#1a1714;
  --ink-soft:#565047;
  --ink-soft2:#574f44;
  --white:#ffffff;
  --paper:#f4f0e7;
  --band:#ece5d6;
  --line:#d8d2c4;
  --red:#cf1622;
  --red-dk:#a8101a;
  --brass:#a07e34;
  --brass-lt:#c9a253;
  --stone:#8c887e;
  --stone-dk:#6c675c;
  --zh:"HarmonyOS Sans","Source Han Sans SC","PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  --serif:"Fraunces", Georgia, serif;
  --sans:"IBM Plex Sans", system-ui, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.5;}
.zh{font-family:var(--zh);}
::selection{background:var(--red);color:#fff;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;}
.wrap{max-width:1280px;margin:0 auto;padding:0 36px;}

/* bilingue : bascule d'emphase */
body[data-lang="fr"] .pri-zh{opacity:.4;}
body[data-lang="zh"] .pri-fr{opacity:.62;}

/* ---- TOP BAR (toujours visible) ---- */
.topbar{position:sticky;top:0;z-index:50;background:var(--ink);color:#cdc8bd;font-family:var(--mono);font-size:11.5px;letter-spacing:.07em;}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:38px;}
.topbar a{text-decoration:none;}
.topbar .right{display:flex;gap:24px;align-items:center;}
.topbar .tag{color:var(--brass-lt);}
.langtoggle{display:flex;border:1px solid #3a362e;}
.langtoggle button{background:none;border:none;color:#8a857a;font-family:var(--mono);font-size:11px;padding:3px 10px;cursor:pointer;}
body[data-lang="zh"] .langtoggle button[data-set="zh"],
body[data-lang="fr"] .langtoggle button[data-set="fr"]{background:var(--red);color:#fff;}

/* ---- HEADER ---- */
header.site{position:sticky;top:38px;z-index:40;background:rgba(244,240,231,.93);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
/* Décalage sous la barre d'administration WordPress (utilisateur connecté) */
body.admin-bar .topbar{top:32px;}
body.admin-bar header.site{top:70px;}
@media screen and (max-width:782px){
  body.admin-bar .topbar{top:46px;}
  body.admin-bar header.site{top:84px;}
}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none;}
.logo svg{width:30px;height:30px;display:block;}
.logo img{height:44px;width:auto;max-width:240px;display:block;}
.logo .mark{font-family:var(--serif);font-size:28px;font-weight:600;letter-spacing:-.015em;line-height:1;}
.logo .sub{font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;color:var(--stone-dk);text-transform:uppercase;border-left:1px solid var(--line);padding-left:11px;}
nav.main{display:flex;gap:34px;}
nav.main a{text-decoration:none;font-family:var(--zh);font-weight:500;font-size:15px;color:var(--ink);position:relative;padding:6px 0;}
nav.main a .n-fr{display:block;font-family:var(--mono);font-weight:400;font-size:9px;color:var(--stone-dk);letter-spacing:.12em;text-transform:uppercase;margin-top:3px;}
nav.main a:hover::after{content:"";position:absolute;left:0;bottom:0;width:16px;height:2.5px;background:var(--red);}
.navcta{font-family:var(--mono);font-size:12px;letter-spacing:.05em;background:var(--ink);color:#fff;padding:11px 18px;text-decoration:none;transition:.18s;white-space:nowrap;}
.navcta:hover{background:var(--red);}

/* ---- HERO ---- */
.hero{position:relative;background:#2a2620;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 35%;}
.hero-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 50% at 80% 12%,rgba(160,126,52,.22),transparent 70%);}
.hero .wrap{position:relative;min-height:600px;display:flex;flex-direction:column;justify-content:flex-end;padding-top:120px;padding-bottom:54px;color:#fff;}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#ece8df;display:flex;align-items:center;gap:13px;flex-wrap:wrap;}
.hero h1{font-family:var(--zh);font-weight:700;font-size:clamp(42px,6.4vw,84px);line-height:1.07;letter-spacing:.005em;margin:24px 0 0;max-width:14ch;text-shadow:0 2px 30px rgba(0,0,0,.3);}
.hero h1 strong{color:var(--brass-lt);font-weight:700;}
.hero .h1-fr{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(19px,2.3vw,31px);line-height:1.28;margin-top:20px;max-width:32ch;color:#f0ede4;}
.hero .lede{font-family:var(--zh);font-weight:400;font-size:16.5px;color:#efece3;margin-top:24px;max-width:42ch;line-height:1.95;}
.hero-actions{display:flex;gap:18px;align-items:center;margin-top:36px;flex-wrap:wrap;}
.btn{font-family:var(--mono);font-size:13px;letter-spacing:.04em;padding:15px 26px;text-decoration:none;display:inline-flex;gap:10px;align-items:center;transition:.18s;}
.btn-red{background:var(--red);color:#fff;}
.btn-red:hover{background:var(--red-dk);}
.btn-red .fr{opacity:.8;font-size:11px;}
.btn-line{border:1px solid rgba(255,255,255,.55);color:#fff;}
.btn-line:hover{background:#fff;color:var(--ink);}

/* ---- PROOF ---- */
.proofwrap{background:var(--white);border-bottom:1px solid var(--line);}
.proof{display:grid;grid-template-columns:repeat(4,1fr);}
.proof .p{padding:38px 28px 42px;border-right:1px solid var(--line);border-top:4px solid var(--ink);}
.proof .p:nth-child(odd){border-top-color:var(--red);}
.proof .p:nth-child(even){border-top-color:var(--brass);}
.proof .p:last-child{border-right:none;}
.proof .pk{font-family:var(--serif);font-size:clamp(28px,3vw,44px);font-weight:600;letter-spacing:-.015em;color:var(--ink);}
.proof .pk strong{color:var(--red);font-weight:600;}
.proof .pl{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--stone-dk);text-transform:uppercase;margin-top:12px;line-height:1.65;}

/* ---- SECTION SHELL ---- */
section{padding:104px 0;}
.sec-label{font-family:var(--mono);font-size:12px;letter-spacing:.17em;text-transform:uppercase;color:var(--red);display:flex;gap:12px;align-items:center;margin-bottom:18px;}
.sec-label .ix{color:var(--brass);}
.sec-title{font-family:var(--zh);font-weight:700;font-size:clamp(30px,4vw,50px);line-height:1.16;letter-spacing:.005em;margin-bottom:40px;}
.sec-title .fr{display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:.46em;color:var(--stone-dk);margin-top:13px;}

/* ---- PÔLES ---- */
.poles{border-top:2px solid var(--ink);}
.pole{display:grid;grid-template-columns:46px 1fr 1.05fr 220px;gap:30px;padding:22px 0;border-bottom:1px solid var(--line);align-items:center;transition:.22s;position:relative;}
.pole::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--acc,var(--brass));transform:scaleY(0);transform-origin:top;transition:transform .22s;}
.pole:hover{background:var(--white);}
.pole:hover::before{transform:scaleY(1);}
.pole .num{font-family:var(--mono);font-size:15px;color:var(--acc,var(--brass));font-weight:600;}
.pole-mid h3{font-family:var(--zh);font-weight:700;font-size:25px;line-height:1.22;}
.pole-mid h3 .h-fr{display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:17px;color:var(--ink-soft2);margin-top:7px;}
.pole .tags{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:var(--stone-dk);margin-top:12px;text-transform:uppercase;}
.pole h3 a{text-decoration:none;color:inherit;transition:.18s;}
.pole:hover h3 a{color:var(--acc,var(--red));}
.pole-desc-col .desc{font-family:var(--zh);font-weight:400;font-size:15px;line-height:1.85;color:var(--ink-soft2);}
.pole-more{display:inline-block;margin-top:12px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--acc,var(--red));text-decoration:none;text-transform:uppercase;}
.pole-more:hover{opacity:.7;}
.pole-thumb{display:block;width:220px;height:124px;background-size:cover;background-position:center;filter:saturate(.9) contrast(1.02);transition:.28s;align-self:center;box-shadow:0 1px 0 var(--line);}
.pole-thumb:hover{filter:saturate(1.08);}
.pole:hover .pole-thumb{transform:scale(1.025);}
.pole-thumb--blank{background:linear-gradient(135deg,var(--acc,var(--brass)),color-mix(in srgb,var(--acc,var(--brass)) 55%,#000));opacity:.9;}

/* ---- PAGE DE RUBRIQUE (single pôle) ---- */
.pole-single{--acc:var(--brass);}
.pole-hero{background:var(--band);background-size:cover;background-position:center;border-top:5px solid var(--acc);border-bottom:1px solid var(--line);}
.pole-hero .wrap{padding:128px 36px 54px;}
.pole-hero .back{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--ink-soft2);text-decoration:none;margin-bottom:30px;}
.pole-hero .back:hover{color:var(--acc);}
.pole-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--acc);margin-bottom:18px;}
.pole-hero h1{font-family:var(--zh);font-weight:700;font-size:clamp(32px,5vw,58px);line-height:1.12;max-width:20ch;}
.pole-hero h1 .ph-fr{display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:.42em;color:var(--ink-soft2);margin-top:14px;}
.pole-hero .pole-tags-top{font-family:var(--mono);font-size:12px;letter-spacing:.05em;color:var(--stone-dk);text-transform:uppercase;margin-top:24px;}
.pole-hero.has-img{border-top-color:var(--acc);}
.pole-hero.has-img .pole-eyebrow{color:#f0ede4;}
.pole-hero.has-img h1{color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.35);}
.pole-hero.has-img h1 .ph-fr{color:#efece3;}
.pole-hero.has-img .back{color:#efece3;}
.pole-hero.has-img .pole-tags-top{color:#d8d4c8;}

.pole-body{padding:80px 0;}
.pole-body .wrap{max-width:860px;}
.pole-content{font-family:var(--zh);font-size:18px;line-height:1.95;color:var(--ink);}
.pole-content p{margin:0 0 18px;}
.pole-content ul{list-style:none;margin:18px 0;padding:0;}
.pole-content li{padding-left:22px;position:relative;margin:0 0 14px;}
.pole-content li::before{content:"";position:absolute;left:0;top:14px;width:11px;height:2.5px;background:var(--acc);}
.pole-content strong{color:var(--ink);font-weight:600;}
.pole-content em{font-family:var(--serif);font-style:italic;color:var(--ink-soft2);}
/* bascule de langue dans le corps : 中文 = texte normal, français = <em> */
body[data-lang="zh"] .pole-content em{opacity:.5;}
body[data-lang="fr"] .pole-content p:not(:has(em)),
body[data-lang="fr"] .pole-content ul:not(:has(em)){opacity:.4;}
.pole-content li strong{font-family:var(--mono);font-size:12px;letter-spacing:.07em;text-transform:uppercase;margin-right:10px;}

/* chiffres clés */
.pole-stats{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.pole-stats .wrap{display:grid;}
.pole-stats .st{padding:48px 28px;border-right:1px solid var(--line);border-top:3px solid var(--acc);}
.pole-stats .st:last-child{border-right:none;}
.pole-stats .st .n{font-family:var(--serif);font-weight:600;font-size:clamp(28px,3vw,42px);letter-spacing:-.015em;color:var(--ink);line-height:1.05;}
.pole-stats .st .l{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--stone-dk);text-transform:uppercase;margin-top:12px;line-height:1.6;}

/* prestations */
.pole-services{padding:90px 0;}
.pole-services .sec-label{font-family:var(--mono);font-size:12px;letter-spacing:.17em;text-transform:uppercase;color:var(--acc);margin-bottom:34px;}
.pole-services .grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:2px solid var(--ink);}
.pole-services .sv{padding:24px 30px 24px 22px;border-bottom:1px solid var(--line);position:relative;}
.pole-services .sv:nth-child(odd){border-right:1px solid var(--line);}
.pole-services .sv::before{content:"";position:absolute;left:0;top:32px;width:10px;height:2.5px;background:var(--acc);}
.pole-services .sv .z{display:block;font-family:var(--zh);font-weight:500;font-size:18px;}
.pole-services .sv .f{display:block;font-family:var(--serif);font-style:italic;font-size:15px;color:var(--ink-soft2);margin-top:4px;}

/* bandeau CTA */
.pole-ctaband{background:var(--band);border-top:1px solid var(--line);padding:72px 0;}
.pole-ctaband .wrap{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.pole-ctaband .cta-txt .zh{display:block;font-family:var(--zh);font-weight:700;font-size:clamp(22px,2.6vw,32px);}
.pole-ctaband .cta-txt .cta-fr{display:block;font-family:var(--serif);font-style:italic;font-size:18px;color:var(--ink-soft2);margin-top:8px;}
.pole-cta{display:flex;gap:16px;flex-wrap:wrap;}
.btn-dark{background:var(--ink);color:#fff;}
.btn-dark:hover{background:var(--acc);}

/* ---- BANDE PHOTO (rythme) ---- */
.photoband{background-color:#2a2620;background-size:cover;background-position:center;min-height:340px;display:flex;align-items:flex-end;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.photoband .wrap{padding-top:48px;padding-bottom:48px;}
.photoband .pb-cap .zh{display:block;font-family:var(--zh);font-weight:700;font-size:clamp(24px,3vw,40px);color:#fff;line-height:1.2;text-shadow:0 2px 24px rgba(0,0,0,.4);}
.photoband .pb-cap .pb-fr{display:block;font-family:var(--serif);font-style:italic;font-size:clamp(16px,1.8vw,22px);color:#f0ede4;margin-top:10px;text-shadow:0 2px 24px rgba(0,0,0,.4);}

/* ---- RÉFÉRENCES ---- */
.refs{background:var(--band);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.refgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;}
.refcard{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--acc,var(--brass));display:flex;flex-direction:column;transition:.25s;overflow:hidden;}
.refcard:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(26,23,20,.13);}
.refcard-img{height:172px;background-size:cover;background-position:center;position:relative;overflow:hidden;}
.refcard-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,23,20,.05),rgba(26,23,20,.45));}
.refcard-img--blank{background:linear-gradient(135deg,var(--acc,var(--brass)),color-mix(in srgb,var(--acc,var(--brass)) 50%,#000));}
.refcard-yr{position:absolute;left:16px;bottom:14px;z-index:1;font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:#fff;background:rgba(26,23,20,.55);padding:5px 10px;text-transform:uppercase;}
.refcard-body{padding:20px 20px 24px;flex:1;display:flex;flex-direction:column;}
.refcard-t{font-family:var(--zh);font-weight:600;font-size:18px;line-height:1.35;color:var(--ink);}
.refcard-fr{font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.4;color:var(--ink-soft2);margin-top:7px;}
.refcard-p{font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;color:var(--stone-dk);text-transform:uppercase;margin-top:14px;padding-top:13px;border-top:1px solid var(--line);}

/* ---- MAISON ---- */
.maison .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:center;}
.maison .lead{font-family:var(--zh);font-weight:400;font-size:clamp(20px,2.4vw,29px);line-height:1.65;}
.maison .lead strong{color:var(--red);font-weight:500;}
.maison .lead-fr{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.55;color:var(--ink-soft2);margin-top:22px;}
.caps{border-left:3px solid var(--brass);padding-left:36px;}
.caps .crow{padding:16px 0;border-bottom:1px solid var(--line);}
.caps .crow:first-child{padding-top:0;}
.caps .crow:last-child{border-bottom:none;}
.caps .ck{font-family:var(--mono);font-size:10px;letter-spacing:.13em;color:var(--brass);text-transform:uppercase;}
.caps .cv{font-family:var(--zh);font-weight:500;font-size:18px;margin-top:6px;}
.caps .cv .cf{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--ink-soft2);font-size:15px;}

/* ---- CONTACT ---- */
.contact{background:var(--white);border-top:1px solid var(--line);}
.contact .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;}
.contact h2{font-family:var(--zh);font-weight:700;font-size:clamp(30px,4vw,48px);line-height:1.2;}
.contact h2 .c-fr{display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:.52em;color:var(--stone-dk);margin-top:12px;}
.addr{font-family:var(--mono);font-size:13px;line-height:2.15;letter-spacing:.03em;color:var(--ink-soft2);margin-top:30px;}
.addr b{color:var(--ink);}
.form{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--brass);padding:36px;}
.form .fl{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--red);text-transform:uppercase;margin-bottom:8px;}
.form label{display:block;font-family:var(--zh);font-weight:400;font-size:15px;margin:20px 0 7px;}
.form label:first-of-type{margin-top:0;}
.form input,.form textarea{width:100%;border:none;border-bottom:1.5px solid var(--line);background:none;padding:9px 2px;font-family:var(--sans);font-size:15px;color:var(--ink);}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--red);}
.form button{margin-top:28px;width:100%;background:var(--ink);color:#fff;border:none;padding:16px;font-family:var(--mono);font-size:12.5px;letter-spacing:.07em;cursor:pointer;transition:.18s;}
.form button:hover{background:var(--red);}
/* Compat. formulaires Formidable dans le bloc Contact */
.form .frm_forms,.form .frm_forms .frm_form_field{margin:0 0 4px;max-width:100%;}
.form .frm_forms label.frm_primary_label{display:block;font-family:var(--zh);font-size:15px;margin:18px 0 7px;font-weight:400;}
.form .frm_forms input[type=text],.form .frm_forms input[type=email],.form .frm_forms input[type=tel],.form .frm_forms textarea,.form .frm_forms select{width:100%;border:none;border-bottom:1.5px solid var(--line);background:none;padding:9px 2px;font-family:var(--sans);font-size:15px;color:var(--ink);}
.form input[type=submit],.form .frm_button_submit,.form .frm_forms button[type=submit]{margin-top:24px;width:100%;background:var(--ink);color:#fff;border:none;padding:16px;font-family:var(--mono);font-size:12.5px;letter-spacing:.07em;cursor:pointer;transition:.18s;}
.form input[type=submit]:hover,.form .frm_button_submit:hover,.form .frm_forms button[type=submit]:hover{background:var(--red);}
.form .frm_error,.form .frm_error_style{color:var(--red);font-size:13px;}
.form .frm_message,.form .frm_confirmation_msg{color:var(--ink);font-size:14px;}

/* ---- FOOTER ---- */
footer.site{background:var(--ink);color:#938e83;border-top:3px solid var(--brass);padding:44px 0;}
footer.site .wrap{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap;}
footer.site .f-brand .mark{font-family:var(--serif);color:#fff;font-size:22px;font-weight:600;}
footer.site .f-brand .f-tag{font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;margin-top:8px;color:#938e83;}
footer.site .f-links{display:flex;gap:30px;flex-wrap:wrap;}
footer.site .f-links a{font-family:var(--mono);font-size:12px;letter-spacing:.05em;color:#cdc8bd;text-decoration:none;transition:.15s;}
footer.site .f-links a:hover{color:var(--brass-lt);}
footer.site .f-bottom{width:100%;margin-top:30px;padding-top:20px;border-top:1px solid #2c2820;display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:#7a766c;flex-wrap:wrap;gap:10px;}
footer.site .f-contact{font-family:var(--mono);font-size:12px;line-height:2;letter-spacing:.03em;color:#cdc8bd;}
footer.site .f-contact a{display:inline-block;margin-right:18px;color:var(--brass-lt);text-decoration:none;transition:.15s;}
footer.site .f-contact a:hover{color:#fff;}

@media (max-width:920px){
  .wrap{padding:0 22px;}
  nav.main{display:none;}
  .topbar .tag{display:none;}
  .topbar .right{gap:16px;}
  .proof{grid-template-columns:1fr 1fr;}
  .proof .p:nth-child(2){border-right:none;}
  .pole{grid-template-columns:1fr;gap:14px;}
  .pole-thumb{width:100%;height:180px;order:-1;}
  .maison .wrap,.contact .wrap{grid-template-columns:1fr;gap:40px;}
  .caps{border-left:none;border-top:3px solid var(--brass);padding-left:0;padding-top:28px;}
  .pole-stats .wrap{grid-template-columns:1fr !important;}
  .pole-stats .st{border-right:none;border-bottom:1px solid var(--line);}
  .pole-services .grid{grid-template-columns:1fr;}
  .pole-services .sv:nth-child(odd){border-right:none;}
  .pole-ctaband .wrap{flex-direction:column;align-items:flex-start;}
  .photoband{min-height:230px;}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important;}}
