/* Caftan Avis — chargé uniquement sur les pages qui affichent un avis ou le formulaire.
   Couleurs : celles du thème Astra (variables --ast-global-color-*), avec repli. */
.ca-carte,.ca-bloc,.ca-page,.ca-f,.ca-ligne,.ca-panier,.ca-f-merci,.ca-f-msg{
	--ca-or:var(--ast-global-color-0,#F9C349);
	--ca-brun:var(--ast-global-color-2,#1E1810);
	--ca-gris:var(--ast-global-color-3,#62615C);
	--ca-beige:var(--ast-global-color-4,#F8F7F3);
}
.ca-sr{clip:rect(1px,1px,1px,1px);position:absolute!important;height:1px;width:1px;overflow:hidden;white-space:nowrap}
.ca-et{color:var(--ca-or,#F9C349);letter-spacing:1px}
.ca-et-vide{color:#ddd8cc}

/* ---------- Cartes ---------- */
.ca-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin:16px 0}
.ca-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 12px;margin:12px 0;-webkit-overflow-scrolling:touch}
.ca-rail .ca-carte{flex:0 0 78%;max-width:280px;scroll-snap-align:start}
.ca-carte{background:#fff;border:1px solid #ebe6da;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;text-align:left;color:var(--ca-brun)}
.ca-photo{position:relative;aspect-ratio:3/4;max-height:320px;background:var(--ca-beige);overflow:hidden}
.ca-rail .ca-photo{max-height:220px}
.ca-photo img{width:100%;height:100%;object-fit:cover;display:block;margin:0}
.ca-photo span{position:absolute;left:10px;bottom:10px;background:rgba(30,24,16,.78);color:#fff;font-size:12px;line-height:1.3;padding:4px 9px;border-radius:20px;max-width:85%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ca-corps{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.55}
.ca-corps>.ca-et{font-size:17px}
.ca-texte p{margin:0 0 .5em}
.ca-meta{font-size:12px;color:var(--ca-gris)}
.ca-meta strong{color:var(--ca-brun)}
.ca-ok{color:#2e7d4f;font-weight:600}
.ca-src{color:var(--ca-gris);font-weight:600}
.ca-src-vinted{color:#08949b}
.ca-rep{background:var(--ca-beige);border-left:3px solid var(--ca-or);padding:8px 10px;font-size:13px;border-radius:0 8px 8px 0}
.ca-rep p{margin:.25em 0 0}

/* ---------- Blocs ---------- */
.ca-bloc{margin:36px 0;clear:both}
.ca-bloc h2{margin:0 0 4px}
.ca-sous{color:var(--ca-gris);font-size:14px;margin:0 0 6px}
.ca-tous{display:inline-block;margin-top:4px;font-weight:600;color:var(--ca-brun);border-bottom:2px solid var(--ca-or);text-decoration:none}
.ca-pager{display:flex;gap:16px;justify-content:center;margin:16px 0}
ul.products li.ca-li-bandeau{grid-column:1/-1;width:100%!important;max-width:100%;float:none;clear:both;list-style:none;margin:12px 0 24px!important;padding:0!important;text-align:left}
ul.products li.ca-li-bandeau .ca-bloc{margin:0}
.ca-note{white-space:nowrap}

/* ---------- Mentions ---------- */
.ca-ligne{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;margin:4px 0 14px;font-size:14px}
.ca-ligne a{color:var(--ca-brun);text-decoration:none}
.ca-ligne .ca-et{font-size:16px}
.ca-ligne-tp{width:100%;font-size:12px}
.ca-tp{color:var(--ca-gris,#62615C);text-decoration:none}
.ca-tp strong{color:var(--ca-brun,#1E1810)}
.ca-tp-et{color:var(--ca-or,#F9C349)}
.ca-tp-badge{display:inline-block;border:1px solid #ebe6da;border-radius:20px;padding:4px 12px;font-size:14px}
.ca-panier{font-size:13px;color:var(--ca-gris);text-align:center;margin:10px 0}
.ca-resume{font-size:15px}

/* ---------- Page des avis ---------- */
.ca-page-tete{margin-bottom:8px}
.ca-page-note{font-size:22px;margin:0 0 6px}
.ca-page-note .ca-et{font-size:24px}
.ca-page-note span:last-child{font-size:15px;color:var(--ca-gris);margin-left:6px}
.ca-ailleurs{font-size:14px;color:var(--ca-gris);display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.ca-ailleurs .ca-tp,.ca-pastille{display:inline-block;border:1px solid #ebe6da;border-radius:20px;padding:3px 11px;font-size:13px}
.ca-filtres{font-size:14px;color:var(--ca-gris)}
.ca-filtres a{color:var(--ca-gris);text-decoration:none}
.ca-filtres a[aria-current]{color:var(--ca-brun);font-weight:700}
.ca-explication{background:#fff;border:1px solid #ebe6da;border-radius:12px;padding:18px;margin-top:32px;font-size:13px;color:var(--ca-gris);line-height:1.6}
.ca-explication h2{font-size:17px;margin:0 0 6px;color:var(--ca-brun)}

/* ---------- Formulaire ---------- */
.ca-f,.ca-f-msg,.ca-f-merci{max-width:640px;margin:0 auto 16px}
.ca-f{color:var(--ca-brun)}
.ca-hp{position:absolute!important;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden}
.ca-f-msg{padding:14px 16px;border-radius:10px;background:#f2f7f2;border:1px solid #cfe3cf;color:#1f4d24}
.ca-f-msg.ca-f-err{background:#fbeeee;border-color:#e6c0c0;color:#7a1f1f}
.ca-f-apercu{background:#fff4d6;border-color:#e8d49a;color:#5b4500}
.ca-f-piece{display:flex;gap:18px;align-items:center;background:#fff;border:1px solid #ebe6da;border-radius:12px;padding:16px;margin-bottom:28px}
.ca-f-piece img{width:96px;height:150px;object-fit:cover;border-radius:8px;flex:none;margin:0}
.ca-f-piece small{display:block;color:var(--ca-gris);font-size:13px}
.ca-f-piece strong{font-size:19px;line-height:1.3;display:block;margin:2px 0 4px}
.ca-f-piece span{font-size:13px;color:var(--ca-gris)}
.ca-f-q{display:block;font-weight:600;font-size:16px;margin:0 0 8px;padding:0}
.ca-f fieldset{border:0;padding:0;margin:0 0 6px}
.ca-f-etoiles{display:inline-flex;flex-direction:row-reverse;gap:4px}
.ca-f-etoiles input{position:absolute;opacity:0;width:1px;height:1px}
.ca-f-etoiles label{font-size:44px;line-height:1;color:#ddd8cc;cursor:pointer;margin:0;padding:0;transition:color .15s,transform .15s}
.ca-f-etoiles label:hover{transform:scale(1.1)}
.ca-f-etoiles input:checked~label,.ca-f-etoiles label:hover,.ca-f-etoiles label:hover~label{color:var(--ca-or)}
.ca-f-etoiles input:focus-visible+label{outline:2px solid var(--ca-brun);outline-offset:3px;border-radius:4px}
.ca-f-mot{min-height:22px;font-size:14px;color:var(--ca-gris);margin-bottom:18px}
.ca-f-aide{background:#f1faf4;border:1px solid #c9e8d4;border-radius:10px;padding:12px 14px;font-size:14px;margin:-6px 0 22px}
.ca-f-aide[hidden]{display:none}
.ca-f-aide a{color:#1d8a4b;font-weight:600;text-decoration:none}
.ca-f-aide small{color:var(--ca-gris)}
.ca-f-champ{margin:0 0 20px}
.ca-f-pistes{display:block;font-size:13px;color:var(--ca-gris);margin:-4px 0 8px}
.ca-f textarea,.ca-f input[type=text]{width:100%;box-sizing:border-box;font:inherit;font-size:15px;color:var(--ca-brun);border:1px solid #d9d4c7;border-radius:10px;padding:12px 14px;background:#fff}
.ca-f textarea{min-height:140px;resize:vertical}
.ca-f textarea:focus,.ca-f input[type=text]:focus{outline:none;border-color:var(--ast-global-color-1,#FFB100);box-shadow:0 0 0 3px rgba(249,195,73,.3)}
.ca-f-accord{display:flex;gap:10px;align-items:flex-start;font-size:14px;font-weight:400;margin:4px 0 24px}
.ca-f-accord input{width:20px;height:20px;accent-color:var(--ca-brun);flex:none;margin-top:2px}
.ca-f-btn{display:block;width:100%;background:var(--ca-brun);color:#fff;border:0;border-radius:30px;padding:16px;font-weight:600;font-size:16px;cursor:pointer;letter-spacing:.3px}
.ca-f-btn:hover,.ca-f-btn:focus{background:#3a2f20;color:#fff}
.ca-f-non{display:block;margin:16px auto 0;background:none;border:0;color:var(--ca-gris);font-size:13px;text-decoration:underline;cursor:pointer;padding:4px}
.ca-f-non:hover,.ca-f-non:focus{background:none;color:var(--ca-brun)}
.ca-f-merci{text-align:center;background:#fff;border:1px solid #ebe6da;border-radius:12px;padding:32px 20px}
.ca-f-coeur{font-size:40px;line-height:1}
.ca-f-merci h2{margin:8px 0}
@media(max-width:480px){.ca-f-piece img{width:78px;height:122px}.ca-f-etoiles label{font-size:40px}}
@media(prefers-reduced-motion:reduce){.ca-f-etoiles label{transition:none}}

.ca-admin-seul{display:block;margin:0 0 8px;padding:4px 10px;border-radius:4px;background:#fff4d6;border:1px dashed #c9a227;color:#5b4500;font:600 12px/1.4 sans-serif}
.ca-exemple{display:inline-block;padding:1px 6px;border-radius:3px;background:#fff4d6;border:1px dashed #c9a227;color:#5b4500;font-size:11px;font-weight:700;letter-spacing:.02em}
/* 1.1.9 : formulaire allégé (taille, coupe, photo) et cartes (taille, photo de la cliente). */
.ca-f-taille .ca-f-ligne{display:flex;align-items:center;gap:8px;margin:6px 0 10px}
.ca-f-taille select{min-width:90px;padding:6px 8px}
.ca-f-coupes{display:flex;flex-wrap:wrap;gap:8px}
.ca-f-coupe{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid #e3ddd0;border-radius:999px;cursor:pointer;font-size:14px}
.ca-f-coupe input{margin:0}
.ca-f-photo input[type=file]{display:block;margin:6px 0 8px;max-width:100%}
.ca-f-photo-ok{display:block;margin-bottom:4px}
.ca-f-q small{font-weight:400;opacity:.7}
.ca-taille{font-size:13px;font-weight:600;color:#6b5a2e;margin:4px 0 6px}
.ca-photo-cliente{position:relative}
.ca-photo-badge{position:absolute;top:8px;left:8px;background:rgba(30,24,16,.75);color:#fff;font-style:normal;font-size:11px;padding:2px 8px;border-radius:999px}