/* ============================================================
   Félin Noir – Fiche produit custom
   Palette : navy #1A1A2E · or #C9A84C · or foncé #B8953F · gris #687279
   ============================================================ */
:root{
  --fn-navy:#1A1A2E; --fn-gold:#C9A84C; --fn-gold-d:#B8953F;
  --fn-grey:#687279; --fn-light:#F0F0F5; --fn-line:#e6e6ee;
}

/* ---------- Fiche pleine largeur : masque la sidebar (+ widget démo) ---------- */
body.fn-fiche-active .ct-container:has(> #sidebar){grid-template-columns:1fr !important;}
body.fn-fiche-active #sidebar{display:none !important;}
/* Aligne le haut de fiche (galerie + résumé + fil d'ariane) sur la largeur des sections */
body.fn-fiche-active .ct-container:has(#main){max-width:1500px;}

/* ---------- Galerie / carrousel ---------- */
/* Split équilibré galerie / résumé (la galerie custom n'hérite pas du width WooCommerce) */
body.fn-fiche-active .product-entry-wrapper{gap:clamp(28px,4vw,60px);align-items:flex-start;}
body.fn-fiche-active .product-entry-wrapper > .fn-gallery{flex:0 0 47%;max-width:47%;min-width:0;}
body.fn-fiche-active .product-entry-wrapper > .summary{flex:1 1 auto;min-width:0;}
@media(max-width:782px){
  body.fn-fiche-active .product-entry-wrapper{flex-direction:column;}
  body.fn-fiche-active .product-entry-wrapper > .fn-gallery{flex-basis:auto;max-width:100%;width:100%;}
}
.fn-gallery{position:relative;}
.fn-gallery .fn-badge{
  position:absolute;top:14px;left:14px;z-index:5;
  font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  padding:6px 12px;border-radius:2px;font-weight:600;
}
.fn-gallery .fn-badge-sale{background:var(--fn-navy);color:#fff;}
.fn-gallery .fn-badge-custom{background:var(--fn-gold);color:var(--fn-navy);top:14px;left:auto;right:14px;}
.fn-main{border:1px solid var(--fn-line);border-radius:6px;overflow:hidden;background:#f6f6fa;}
/* Slides carrés (1:1) qui remplissent : plus de bandes blanches */
.fn-main .splide__slide img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}
.fn-thumbs{margin-top:12px;}
.fn-thumbs .splide__slide{border:1px solid var(--fn-line);border-radius:4px;overflow:hidden;cursor:pointer;opacity:.55;transition:opacity .2s,border-color .2s;}
.fn-thumbs .splide__slide img{width:100%;height:100%;object-fit:cover;display:block;}
.fn-thumbs .splide__slide.is-active{opacity:1;border-color:var(--fn-gold);}
/* Flèches Splide en doré */
.fn-main .splide__arrow{background:var(--fn-navy);opacity:.92;width:2.4em;height:2.4em;}
.fn-main .splide__arrow svg{fill:#fff;}
.fn-main .splide__arrow:hover:not(:disabled){background:var(--fn-gold);}
.fn-main .splide__arrow:hover:not(:disabled) svg{fill:var(--fn-navy);}

/* ---------- Note étoilée (preuve sociale) ---------- */
.fn-rating{display:flex;align-items:center;gap:9px;margin:2px 0 14px;}
.fn-rating-stars{color:var(--fn-gold);letter-spacing:2px;font-size:17px;line-height:1;}
.fn-rating-txt{color:var(--fn-grey);font-size:13.5px;}

/* ---------- Supprime le widget BNPL Stripe vide (marge fantôme sous le prix) ---------- */
body.fn-fiche-active #payment-method-message,
#payment-method-message{display:none !important;height:0 !important;min-height:0 !important;margin:0 !important;padding:0 !important;}

/* ---------- Badge économie (collé sous le prix) ---------- */
body.fn-fiche-active .summary .price{margin-bottom:6px !important;}
.fn-savings{display:inline-flex;align-items:center;gap:8px;margin:0 0 4px;color:var(--fn-gold-d);font-weight:600;font-size:14px;}
.fn-savings span{color:#fff;background:var(--fn-navy);padding:3px 9px;border-radius:3px;font-size:12.5px;font-family:"IBM Plex Mono",monospace;}

/* ---------- Arguments clés (résumé) : check doré épuré ---------- */
ul.fn-usp{list-style:none;margin:20px 0;padding:20px 0 0;display:grid;gap:12px;border-top:1px solid var(--fn-line);}
ul.fn-usp li{position:relative;padding-left:30px;color:#2b2b3a;font-size:15px;line-height:1.5;}
ul.fn-usp li::before{content:"";position:absolute;left:0;top:2px;width:19px;height:19px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;}

/* ---------- Réassurance (sous le bouton) ---------- */
ul.fn-trust{list-style:none;display:flex;flex-wrap:wrap;gap:10px 20px;margin:20px 0 6px;padding:16px 0 0;border-top:1px solid var(--fn-line);}
ul.fn-trust li{display:flex;align-items:center;gap:8px;color:var(--fn-grey);font-size:13.5px;}
ul.fn-trust li svg{color:var(--fn-gold-d);flex:0 0 auto;}

/* ---------- Moyens de paiement ---------- */
.fn-pay{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;margin:14px 0 4px;}
.fn-pay>span{font-size:12.5px;color:var(--fn-grey);}
.fn-pay-cards{display:flex;gap:7px;flex-wrap:wrap;align-items:center;}
.fn-pay-cards svg{height:26px;width:auto;display:block;border-radius:4px;}

/* ---------- Accordéons de réassurance (sous le bouton) ---------- */
.fn-acc{margin:18px 0 6px;border-top:1px solid var(--fn-line);}
.fn-acc-item{border-bottom:1px solid var(--fn-line);}
.fn-acc-head{display:flex;align-items:center;gap:11px;padding:15px 2px;cursor:pointer;list-style:none;font-size:15px;font-weight:600;color:var(--fn-navy);user-select:none;}
.fn-acc-head::-webkit-details-marker{display:none;}
.fn-acc-head:hover{color:var(--fn-gold-d);}
.fn-acc-ic{display:flex;color:var(--fn-gold-d);flex:0 0 auto;}
.fn-acc-title{flex:1 1 auto;}
.fn-acc-chevron{flex:0 0 auto;width:10px;height:10px;border-right:2px solid var(--fn-grey);border-bottom:2px solid var(--fn-grey);transform:rotate(45deg);transition:transform .25s ease;margin-right:5px;margin-top:-3px;}
.fn-acc-item[open] .fn-acc-chevron{transform:rotate(-135deg);margin-top:3px;}
.fn-acc-body{padding:0 2px 17px 36px;color:#3a3a48;font-size:14.5px;line-height:1.65;}
.fn-acc-body p{margin:0 0 10px;}
.fn-acc-body p:last-child{margin-bottom:0;}
.fn-acc-body strong{color:var(--fn-navy);}
.fn-acc-body a{color:var(--fn-gold-d);text-decoration:underline;text-underline-offset:2px;}

/* ============================================================
   Sections sous le résumé
   ============================================================ */
.fn-fiche{margin-top:10px;}
/* Sections bord à bord : on casse le conteneur Blocksy (100vw) */
body.fn-fiche-active{overflow-x:hidden;}
.fn-fiche .fn-sec{
  width:100vw;max-width:100vw;
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  padding:54px 0;
}
.fn-fiche .fn-wrap{max-width:1460px;margin:0 auto;padding:0 clamp(20px,5vw,60px);}
.fn-sec.fn-alt{background:var(--fn-light);}
.fn-fiche h2,.fn-fiche h3{font-family:"IBM Plex Mono",monospace;color:var(--fn-navy);line-height:1.2;}
.fn-sec-title{text-align:center;font-size:clamp(22px,3vw,30px);margin:0 0 34px;position:relative;padding-bottom:16px;}
.fn-sec-title::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:54px;height:3px;background:var(--fn-gold);}

/* Belle description : 2 colonnes (texte + carte caractéristiques) */
.fn-intro{padding-top:50px;}
.fn-intro .fn-wrap{max-width:1120px;}
.fn-intro-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(32px,4vw,58px);align-items:start;}
.fn-intro-text h2{font-size:clamp(21px,2.6vw,28px);margin:0 0 18px;text-align:left;}
.fn-intro-text h3{font-size:18px;margin:24px 0 12px;}
.fn-intro-text p{color:#3a3a48;line-height:1.78;font-size:16px;margin:0 0 14px;}
.fn-intro-text > :last-child{margin-bottom:0;}
.fn-intro-text ul{margin:0 0 14px;padding-left:0;list-style:none;}
.fn-intro-text ul li{position:relative;padding-left:24px;margin:0 0 9px;color:#3a3a48;line-height:1.6;}
.fn-intro-text ul li::before{content:"🐾";position:absolute;left:0;top:0;font-size:13px;}
/* Carte caractéristiques */
.fn-specs{background:#fff;border:1px solid var(--fn-line);border-radius:10px;padding:24px 26px;box-shadow:0 16px 34px -24px rgba(26,26,46,.45);position:sticky;top:100px;}
.fn-specs h3{font-family:"IBM Plex Mono",monospace;color:var(--fn-navy);font-size:13.5px;letter-spacing:.05em;text-transform:uppercase;margin:0 0 6px;padding-bottom:12px;border-bottom:2px solid var(--fn-gold);}
.fn-specs dl{margin:0;}
.fn-spec-row{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--fn-line);}
.fn-spec-row:last-child{border-bottom:0;padding-bottom:0;}
.fn-spec-row dt{margin:0;color:var(--fn-grey);font-size:14px;}
.fn-spec-row dd{margin:0;color:var(--fn-navy);font-weight:600;font-size:14px;text-align:right;}
@media(max-width:782px){
  .fn-intro-grid{grid-template-columns:1fr;gap:26px;}
  .fn-specs{position:static;}
}

/* Blocs image-texte */
.fn-imgtext-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;}
.fn-imgtext.is-right .fn-it-media{order:2;}
.fn-imgtext .fn-it-media img{width:100%;height:auto;border-radius:6px;display:block;box-shadow:0 18px 40px -22px rgba(26,26,46,.5);}
.fn-imgtext .fn-it-body h2{font-size:clamp(20px,2.4vw,26px);margin:0 0 14px;}
.fn-imgtext .fn-it-body p{color:#3a3a48;line-height:1.7;font-size:15.5px;margin:0 0 12px;}

/* Vidéo */
.fn-video .fn-wrap{max-width:880px;}
.fn-video-frame{position:relative;padding-bottom:56.25%;height:0;border-radius:8px;overflow:hidden;box-shadow:0 18px 40px -22px rgba(26,26,46,.5);}
.fn-video-frame iframe,.fn-video-frame video,.fn-video-el{position:absolute;inset:0;width:100%!important;height:100%!important;border:0;}
.fn-video-el{position:static;border-radius:8px;}

/* Avis clients */
.fn-avis{background:var(--fn-navy);}
.fn-avis .fn-sec-title{color:#fff;}
.fn-avis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.fn-avis-card{margin:0;background:#22223c;border:1px solid #2f2f4d;border-radius:8px;padding:24px;}
.fn-avis-card .fn-stars{color:var(--fn-gold);font-size:16px;letter-spacing:2px;margin-bottom:12px;}
.fn-avis-card .fn-stars-off{color:#4a4a68;}
.fn-avis-card blockquote{margin:0 0 14px;color:#e7e7f0;font-size:15px;line-height:1.65;font-style:italic;}
.fn-avis-card figcaption{color:#fff;font-family:"IBM Plex Mono",monospace;font-size:13px;}
.fn-avis-card .fn-verif{display:block;color:var(--fn-gold);font-family:inherit;font-size:11.5px;margin-top:3px;}

/* FAQ */
.fn-faq .fn-wrap{max-width:820px;}
.fn-faq-list details{border:1px solid var(--fn-line);border-radius:6px;background:#fff;margin-bottom:12px;}
.fn-faq-list summary{list-style:none;cursor:pointer;padding:17px 20px;font-weight:600;color:var(--fn-navy);
  display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:15.5px;}
.fn-faq-list summary::-webkit-details-marker{display:none;}
.fn-faq-ico{position:relative;flex:0 0 18px;height:18px;}
.fn-faq-ico::before,.fn-faq-ico::after{content:"";position:absolute;background:var(--fn-gold-d);transition:transform .2s;}
.fn-faq-ico::before{top:8px;left:0;width:18px;height:2px;}
.fn-faq-ico::after{top:0;left:8px;width:2px;height:18px;}
.fn-faq-list details[open] .fn-faq-ico::after{transform:scaleY(0);}
.fn-faq-a{padding:0 20px 18px;color:#3a3a48;line-height:1.7;font-size:15px;}
/* Tableau guide des tailles (bagues) */
.fn-faq-a .fn-size-table{width:100%;border-collapse:collapse;margin:14px 0;font-size:14px;}
.fn-faq-a .fn-size-table th,.fn-faq-a .fn-size-table td{border:1px solid var(--fn-line);padding:9px 12px;text-align:center;}
.fn-faq-a .fn-size-table thead th{background:var(--fn-navy);color:#fff;font-family:"IBM Plex Mono",monospace;font-size:12.5px;letter-spacing:.02em;}
.fn-faq-a .fn-size-table tbody tr:nth-child(even){background:var(--fn-light);}
.fn-faq-a .fn-size-table tbody td:first-child{font-weight:700;color:var(--fn-navy);}

/* Garanties */
.fn-guarantee{background:var(--fn-navy);}
.fn-guarantee .fn-sec-title{color:#fff;}
.fn-guarantee-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.fn-g-card{text-align:center;}
.fn-g-ico{font-size:30px;display:block;margin-bottom:12px;}
.fn-g-card h3{color:var(--fn-gold);font-size:15px;margin:0 0 8px;}
.fn-g-card p{color:#c7c7d6;font-size:13.5px;line-height:1.55;margin:0;}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .fn-imgtext-grid{grid-template-columns:1fr;gap:24px;}
  .fn-imgtext.is-right .fn-it-media{order:0;}
  .fn-avis-grid{grid-template-columns:1fr;}
  .fn-guarantee-grid{grid-template-columns:repeat(2,1fr);gap:22px;}
  .fn-sec{padding:40px 0;}
}
@media(max-width:520px){
  .fn-guarantee-grid{grid-template-columns:1fr;}
  ul.fn-trust{gap:10px 14px;}
}
