/*
Theme Name: Art de l'Intime
Theme URI: https://artdelintime.com/
Author: SL Agency
Description: Thème sur mesure Art de l'Intime, conversion fidèle de la maquette HTML validée.
Version: 1.0.1
Text Domain: artdelintime
*/

:root{
    --noir:#0a0906;
    --noir-2:#050403;
    --noir-3:#141210;
    --gold:#c9a45c;
    --gold-light:#e9d3a3;
    --gold-pale:#f4e9d0;
    --gold-deep:#8a6d33;
    --ivoire:#f3ede0;
    --ivoire-dim:#c9c2b3;
    --line:rgba(201,164,92,0.28);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--noir);
    color:var(--ivoire);
    font-family:'Jost',sans-serif;
    font-weight:300;
    overflow-x:hidden;
  }
  .serif{font-family:'Cormorant Garamond',serif;}
  a{color:inherit;text-decoration:none;}

  /* ---------- ornaments ---------- */
  .stars{display:flex;justify-content:center;align-items:center;gap:14px;margin:0 auto;}
  .stars svg{width:14px;height:14px;fill:var(--gold);}
  .stars svg.mid{width:20px;height:20px;}
  .divider{display:flex;flex-direction:column;align-items:center;gap:18px;padding:64px 0;}
  .divider .rule{width:1px;height:46px;background:linear-gradient(var(--gold),transparent);}

  /* ---------- top bar ---------- */
  header{
    position:fixed;top:0;left:0;right:0;z-index:50;
    display:flex;align-items:center;justify-content:space-between;
    padding:22px 6vw;
    background:rgba(8,7,5,0.92);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
    letter-spacing:0.14em;
    transition:transform .35s ease;
  }
  header.header-hidden{transform:translateY(-100%);}
  header .brand{display:flex;align-items:center;gap:12px;font-size:13px;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold-light);text-decoration:none;transition:opacity .3s;}
  header .brand:hover{opacity:0.75;}
  header .brand-text{line-height:1.35;display:flex;flex-direction:column;align-items:center;}
  header .brand img{height:34px;width:auto;display:block;}
  nav{display:flex;gap:20px;font-size:13px;letter-spacing:0.08em;text-transform:uppercase;color:var(--gold-light);font-weight:500;flex-wrap:wrap;justify-content:flex-end;}
  nav a{position:relative;padding-bottom:6px;transition:color .3s;white-space:nowrap;}
  nav a:hover{color:var(--ivoire);}
  nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--gold);transition:width .35s;}
  nav a:hover::after{width:100%;}
  nav a.has-star{display:flex;flex-direction:column;align-items:center;}
  nav a .star{font-size:8px;color:var(--gold-deep);margin-top:5px;}
  @media (max-width:1280px){nav{display:none;}}

  /* ---------- mobile menu ---------- */
  .burger{
    display:none;flex-direction:column;gap:5px;background:rgba(8,7,5,0.85);border:1px solid var(--line);
    cursor:pointer;padding:10px;border-radius:4px;
    position:fixed;top:18px;right:6vw;z-index:60;
    backdrop-filter:blur(6px);
  }
  .burger span{width:22px;height:2px;background:var(--gold-light);display:block;transition:transform .3s, opacity .3s;}
  .burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .burger.open span:nth-child(2){opacity:0;}
  .burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  @media (max-width:1280px){.burger{display:flex;}}
  @media (max-width:600px){
    .mobile-nav{top:88px;right:3vw;width:94vw;padding:20px 22px 24px;gap:17px;}
    .mobile-nav a{font-size:13px;line-height:1.35;padding-bottom:11px;}
  }
  header.header-hidden + .burger{display:flex;}

  .mobile-nav{
    position:fixed;top:92px;right:4vw;width:min(360px,92vw);
    background:rgba(8,7,5,0.985);
    border:1px solid var(--line);
    box-shadow:0 18px 50px rgba(0,0,0,0.58);
    z-index:55;padding:22px 24px 24px;
    display:flex;flex-direction:column;justify-content:flex-start;gap:18px;
    box-sizing:border-box;max-height:calc(100vh - 112px);overflow-y:auto;
    opacity:0;pointer-events:none;transform:translateY(-10px);transition:opacity .3s, transform .3s;
  }
  .mobile-nav.open{opacity:1;pointer-events:auto;transform:translateY(0);}
  @media (min-width:1281px){
    .mobile-nav{
      background:rgba(8,7,5,0.97);border:1px solid var(--line);border-radius:8px;
      box-shadow:0 12px 40px rgba(0,0,0,0.5);
      padding:26px 30px 24px;
    }
  }
  .mobile-nav a{font-size:14px;letter-spacing:0.04em;text-transform:uppercase;color:var(--gold-light);text-decoration:none;padding-bottom:10px;border-bottom:1px solid var(--line);word-break:break-word;opacity:0;}
  @keyframes navLinkIn{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:translateY(0);}}
  .mobile-nav.open a{animation:navLinkIn .6s ease forwards;}
  .mobile-nav.open a:nth-child(1){animation-delay:0s;}
  .mobile-nav.open a:nth-child(2){animation-delay:0.5s;}
  .mobile-nav.open a:nth-child(3){animation-delay:1s;}
  .mobile-nav.open a:nth-child(4){animation-delay:1.5s;}
  .mobile-nav.open a:nth-child(5){animation-delay:2s;}
  .mobile-nav.open a:nth-child(6){animation-delay:2.5s;}
  .mobile-nav a:hover{color:var(--ivoire);}
  .nav-overlay{position:fixed;inset:0;background:transparent;z-index:54;opacity:0;pointer-events:none;}
  .nav-overlay.open{opacity:1;pointer-events:auto;}

  /* ---------- hero ---------- */
  .hero{
    min-height:100vh;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;
    padding:190px 6vw 100px;
    position:relative;
    background:var(--noir);
  }
  .hero img.logo{width:150px;height:auto;margin-bottom:34px;opacity:0.32;mix-blend-mode:screen;filter:drop-shadow(0 0 22px rgba(201,164,92,0.10));transition:opacity .3s;}
  body.nav-open .hero img.logo{opacity:0;}
  /* Mobile menu: prevent the hero title from showing through behind Contact. */
  body.nav-open .hero h1,
  body.nav-open .hero .lace-divider,
  body.nav-open .hero .baseline{opacity:0;visibility:hidden;}
  .eyebrow{font-size:11px;letter-spacing:0.42em;text-transform:uppercase;color:var(--gold);margin-bottom:22px;}
  .hero h1{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(30px,4.4vw,52px);line-height:1.1;color:var(--ivoire);max-width:100%;}
  .hero h1 em{
    display:block;margin-top:0;font-size:clamp(30px,5.4vw,54px);font-weight:500;font-family:'Cormorant Garamond',serif;font-style:normal;white-space:nowrap;
    background:linear-gradient(180deg,#f4e6bf 0%,#c9a45c 55%,#8a6d33 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
    text-shadow:0 1px 18px rgba(201,164,92,0.25);
  }
  .hero h1 em .quote{font-weight:300;font-family:'Cormorant Garamond',serif;}
  .lace-divider{display:flex;align-items:center;justify-content:center;gap:10px;margin:28px auto 0;max-width:360px;}
  .lace-divider .ln{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 50%,transparent);position:relative;}
  .lace-divider .ln::before{content:"";position:absolute;top:-2px;left:0;right:0;height:5px;
    background-image:radial-gradient(circle,var(--gold-deep) 1px,transparent 1.4px);
    background-size:9px 5px;background-repeat:repeat-x;opacity:0.6;}
  .lace-divider .orn{width:22px;height:22px;flex:none;}
  .lace-divider .orn svg{width:100%;height:100%;}
  .lace-divider .stars-orn{display:flex;align-items:flex-end;gap:6px;width:auto;}
  .lace-divider .stars-orn svg{width:8px;height:8px;}
  .lace-divider .stars-orn svg:nth-child(2){width:14px;height:14px;margin-bottom:1px;}
  .hero .baseline{margin-top:28px;font-family:'Cormorant Garamond',serif;font-size:19px;color:var(--ivoire-dim);max-width:44ch;line-height:1.5;}
  .hero .baseline.sub{margin-top:10px;font-size:19px;color:var(--gold-deep);letter-spacing:0.02em;}
  .hero .quote-title{margin-top:44px;font-family:'Cormorant Garamond',serif;color:var(--gold-light);font-size:15px;letter-spacing:0.02em;}

  /* ---------- video teaser ---------- */
  .video-teaser{max-width:1100px;margin:70px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:0 6vw;}
  .video-card{position:relative;aspect-ratio:4/5;border:1px solid var(--line);overflow:hidden;background:linear-gradient(160deg,var(--noir-3),var(--noir-2));display:flex;align-items:center;justify-content:center;padding:14px;}
  .video-card img{position:relative;width:100%;height:100%;object-fit:contain;opacity:0.85;transition:opacity .4s,transform .7s ease;}
  .video-card video{position:relative;width:100%;height:100%;object-fit:cover;opacity:0.9;}
  .video-card:hover img{opacity:0.95;transform:scale(1.04);}
  .video-card::before{content:"";position:absolute;inset:0;background:linear-gradient(to top, rgba(5,4,3,0.75) 0%, rgba(5,4,3,0.05) 60%);z-index:1;}
  .video-card .play{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;
    width:52px;height:52px;border:1px solid var(--gold);border-radius:50%;
    display:flex;align-items:center;justify-content:center;
  }
  .video-card .play svg{width:16px;height:16px;fill:var(--gold-light);margin-left:2px;}
  .video-card .cap{position:absolute;left:20px;bottom:18px;z-index:2;font-family:'Cormorant Garamond',serif;color:var(--gold-light);font-size:15px;letter-spacing:0.02em;}
  @media (max-width:760px){.video-teaser{grid-template-columns:1fr;max-width:320px;}}

  /* ---------- section shell ---------- */
  section.module{padding:150px 6vw;position:relative;}
  .module-head{max-width:900px;margin:0 auto 74px;text-align:center;}
  .module-num{font-size:11px;letter-spacing:0.4em;color:var(--gold-deep);margin-bottom:20px;text-transform:uppercase;}
  .module-title{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(32px,4.4vw,54px);color:var(--ivoire);line-height:1.1;}
  .module-title em{color:var(--gold-light);font-style:normal;}
  .module-sub{margin-top:22px;font-size:15px;line-height:1.85;color:var(--ivoire-dim);max-width:60ch;margin-left:auto;margin-right:auto;font-weight:300;}

  /* ---------- module 1 : suites collection ---------- */
  .suites-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:44px 40px;}
  .suite-card{text-align:center;}
  .suite-card .frame{
    aspect-ratio:3/4;overflow:hidden;position:relative;
    border:1px solid var(--line);padding:10px;
  }
  .suite-card .frame .ph{position:relative;width:100%;height:100%;overflow:hidden;}
  .suite-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease;}
  .suite-card:hover img{transform:scale(1.05);}
  .suite-card .idx{margin-top:22px;font-size:11px;letter-spacing:0.2em;color:var(--gold-deep);}
  .suite-card h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:24px;color:var(--gold-light);margin:8px 0 8px;}
  .suite-card h3 .suite-label{display:block;font-family:'Jost',sans-serif;font-weight:300;font-size:11px;letter-spacing:0.32em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:6px;}
  .suite-card p{font-size:13px;line-height:1.6;color:var(--ivoire-dim);max-width:30ch;margin:0 auto;}
  @media (max-width:900px){.suites-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:600px){.suites-grid{grid-template-columns:1fr;max-width:340px;}}
  .suite-card.small{max-width:230px;margin:0 auto;}
  .suite-card.landscape{grid-column:1/-1;}
  .suite-card.landscape .frame{aspect-ratio:16/9;max-width:640px;margin:0 auto;}
  @media (max-width:900px){.suite-card.landscape{grid-column:1/-1;}}
  @media (max-width:600px){.suite-card.landscape .frame{max-width:100%;}}

  /* ---------- module 2 : sanctuaires privés ---------- */
  .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;max-width:1080px;margin:0 auto;background:var(--line);border:1px solid var(--line);}
  .pillar{background:var(--noir);padding:46px 30px;text-align:center;}
  .pillar .ic{width:30px;height:30px;margin:0 auto 20px;stroke:var(--gold);fill:none;stroke-width:1.1;}
  .pillar h3{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:500;color:var(--gold-light);margin-bottom:10px;letter-spacing:0.02em;}
  .pillar p{font-size:13px;line-height:1.7;color:var(--ivoire-dim);}
  @media (max-width:760px){.pillars{grid-template-columns:1fr 1fr;}}

  .sanctuary-band{margin:100px auto 0;max-width:900px;}
  .sanctuary-band .txt{max-width:640px;margin:0 auto;text-align:center;}
  .sanctuary-band .txt h4{font-family:'Cormorant Garamond',serif;font-size:15px;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
  .sanctuary-band .txt p{font-size:15px;line-height:1.9;color:var(--ivoire-dim);margin-bottom:16px;}
  .sanctuary-frame{border:1px solid var(--line);padding:10px;max-width:560px;margin:0 auto 56px;}
  .sanctuary-frame .ph{aspect-ratio:16/9;overflow:hidden;position:relative;background:var(--noir-2);display:flex;align-items:center;justify-content:center;}
  .sanctuary-frame img{width:100%;height:100%;object-fit:contain;}
  .sanctuary-frame span{display:block;text-align:center;margin-top:14px;font-family:'Cormorant Garamond',serif;color:var(--gold-deep);font-size:13px;letter-spacing:0.05em;}

  /* ---------- module 3 : suites intimes & sensuelles ---------- */
  .intime-block{max-width:760px;margin:0 auto;text-align:center;}
  .intime-block p.serif{font-family:'Cormorant Garamond',serif;font-size:19px;line-height:1.8;color:var(--gold-light);}
  .intime-frame{max-width:400px;margin:60px auto 0;border:1px solid var(--line);padding:10px;}
  .intime-frame .ph{aspect-ratio:4/5;overflow:hidden;position:relative;}
  .intime-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .intime-frame span{display:block;text-align:center;margin-top:14px;font-family:'Cormorant Garamond',serif;color:var(--gold-deep);font-size:13px;}
  .intime-gallery{max-width:820px;margin:60px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:40px;}
  .intime-gallery .intime-frame{max-width:none;margin:0;}
  @media (max-width:640px){.intime-gallery{grid-template-columns:1fr;max-width:340px;}}
  .intime-closing{max-width:640px;margin:70px auto 0;text-align:center;border:1px solid var(--line);padding:44px 40px;border-radius:6px;}
  .intime-closing p{font-family:'Cormorant Garamond',serif;font-size:20px;line-height:1.8;color:var(--ivoire);font-weight:500;}

  /* ---------- module 4 : architectes / à propos ---------- */
  .founders-row{max-width:1080px;margin:0 auto;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:70px;}
  .founder{padding:0 0 30px;border-bottom:1px solid var(--line);text-align:center;display:flex;flex-direction:column;align-items:center;}
  .founder .role{font-size:10px;letter-spacing:0.24em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:8px;}
  .founder h4{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--ivoire);font-weight:500;}
  .founder p{font-size:13px;color:var(--ivoire-dim);margin-top:6px;}
  .founder .quote-bio{font-family:'Cormorant Garamond',serif;font-size:15px;color:var(--gold-light);line-height:1.7;margin-top:14px;font-style:normal;max-width:38ch;}
  .founder .trait-fort{font-family:'Cormorant Garamond',serif;font-size:15px;color:var(--gold-light);margin-top:auto;padding-top:18px;font-style:normal;}
  .founders-divider-logo{position:absolute;left:50%;bottom:0;transform:translate(-50%,50%);z-index:2;background:var(--noir);padding:6px 10px;}
  .founders-divider-logo img{height:38px;width:auto;display:block;}
  @media (max-width:800px){.founders-row{grid-template-columns:1fr;gap:56px;}.founders-divider-logo{display:none;}}

  .studio-text{max-width:760px;margin:80px auto 0;text-align:center;}
  .studio-text p{font-size:16px;line-height:2;color:var(--ivoire-dim);margin-bottom:22px;font-weight:300;}
  .studio-text .sl-mark{color:var(--gold-light);font-weight:700;letter-spacing:0.04em;}

  .values-row{max-width:1080px;margin:100px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:50px;border-top:1px solid var(--line);padding-top:56px;}
  .values-row div{text-align:center;}
  .values-row .n{font-family:'Cormorant Garamond',serif;color:var(--gold);font-size:15px;margin-bottom:12px;}
  .values-row h5{font-family:'Cormorant Garamond',serif;font-size:19px;color:var(--gold-light);margin-bottom:10px;}
  .values-row p{font-size:13px;line-height:1.7;color:var(--ivoire-dim);}
  @media (max-width:760px){.values-row{grid-template-columns:1fr;}}

  /* ---------- module 5 : boutique des sens ---------- */
  .produits{max-width:1150px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--line);border:1px solid var(--line);}
  .produit{background:var(--noir);padding:50px 44px;transition:background .4s;}
  .produit:hover{background:var(--noir-3);}
  .produit .num{font-size:11px;letter-spacing:0.2em;color:var(--gold-deep);}
  .produit h4{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--gold-light);margin:14px 0 12px;}
  .produit p{font-size:13px;color:var(--ivoire-dim);line-height:1.75;}
  @media (max-width:760px){.produits{grid-template-columns:1fr;}}

  .mobilier{max-width:1080px;margin:90px auto 0;border:1px solid var(--line);padding:56px 50px;}
  .mobilier h4{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--gold-light);margin-bottom:18px;}
  .mobilier p{font-size:14px;line-height:1.9;color:var(--ivoire-dim);margin-bottom:16px;max-width:70ch;}
  .mobilier .liste{font-family:'Cormorant Garamond',serif;color:var(--gold-deep);font-size:15px;margin-top:20px;}

  .boutique-cta{max-width:640px;margin:90px auto 0;text-align:center;border:1px solid var(--line);padding:50px 40px;border-radius:6px;}
  .boutique-cta p.serif{font-family:'Cormorant Garamond',serif;font-size:21px;color:var(--gold-light);margin-bottom:26px;line-height:1.5;}
  .soon-badge{display:inline-block;margin-top:22px;padding:9px 26px;border:1px solid var(--gold);color:var(--gold-light);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;border-radius:2px;}

  /* ---------- audience ---------- */
  .audience-grid{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  .audience-card{background:var(--noir);padding:50px 34px;text-align:center;}
  .audience-card .num{font-family:'Cormorant Garamond',serif;color:var(--gold-deep);font-size:15px;margin-bottom:18px;}
  .audience-card h4{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--gold-light);font-weight:500;line-height:1.3;margin-bottom:14px;}
  .audience-card p{font-size:13px;line-height:1.75;color:var(--ivoire-dim);}
  @media (max-width:760px){.audience-grid{grid-template-columns:1fr;}}
  #audience .module-title{font-size:clamp(26px,3.2vw,38px);}
  #audience .module-sub{font-size:17px;margin-top:16px;}
  .btn{display:inline-block;border:1px solid var(--gold);color:var(--gold-light);padding:14px 40px;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;transition:all .35s;}
  .btn:hover{background:var(--gold);color:var(--noir);}

  /* ---------- footer ---------- */
  footer{padding:80px 6vw 46px;text-align:center;border-top:1px solid var(--line);}
  footer img{height:70px;margin-bottom:28px;opacity:0.92;}
  footer .tag{font-family:'Cormorant Garamond',serif;color:var(--ivoire-dim);font-size:15px;margin-bottom:26px;}
  footer .legal{font-size:14px;letter-spacing:0.06em;color:var(--gold-deep);}
  footer .write-us{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--gold-light);margin-bottom:16px;}
  footer .legal-loc{font-size:13px;letter-spacing:0.04em;color:rgba(201,164,92,0.65);margin-top:20px;}

/* WordPress : évite que la barre d'administration masque l'en-tête fixe. */
body.admin-bar header#siteHeader { top: 32px; }
body.admin-bar .burger { top: 50px; }
@media (max-width: 782px) {
  body.admin-bar header#siteHeader { top: 46px; }
  body.admin-bar .burger { top: 64px; }
}
