/** Shopify CDN: Minification failed

Line 1217:10 Expected identifier but found "13px"
Line 1541:0 Expected "}" to go with "{"

**/
/* =======================================================
   ANITOPIA
   Atelier Bébé
   Partie 1
=======================================================*/

:root{

--cream:#F8F3EA;
--cream2:#FDFBF8;

--green:#8CA793;
--green-dark:#60786C;

--pink:#F6D9D8;
--pink2:#FBE8E8;

--brown:#6A5548;
--text:#55473F;

--radius:28px;

--shadow:
0 10px 35px rgba(0,0,0,.08);

}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{

scroll-behavior:smooth;

}

body{

background:var(--cream);

font-family:Poppins,sans-serif;

color:var(--text);

line-height:1.6;

font-size:16px;

}

img{

max-width:100%;

display:block;

}

.ab-page{

padding:60px 25px;

}

.ab-container{

max-width:1050px;

margin:auto;

}

/* =====================================
HERO
===================================== */

.ab-hero{

background:#fdf0e7;

border-radius:40px;

overflow:hidden;

box-shadow:var(--shadow);

margin-bottom:22px;

}

.ab-image{

width:100%;

}

.ab-photo{

width:100%;

height:auto;

object-fit:contain;

display:block;

}

.ab-placeholder{

height:360px;

display:flex;

align-items:center;

justify-content:center;

background:#ddd;

font-size:22px;

color:#777;

}

.ab-title{

padding:45px;

background:

linear-gradient(

180deg,

#fff,

var(--cream2)

);

text-align:center;

}

.ab-title h1{

font-size:48px;

font-weight:700;

color:var(--green-dark);

line-height:1.1;

letter-spacing:.5px;

margin-bottom:20px;

}

.ab-title h2{

font-size:36px;

font-weight:400;

color:var(--brown);

}

/* =====================================
SUCCÈS
===================================== */

.ab-success{

background:linear-gradient(180deg,#E4F0E6,#D6E9DA);

color:var(--green-dark);

border:2px solid var(--green);

border-radius:22px;

padding:22px 28px;

margin:25px;

font-size:18px;

font-weight:700;

text-align:center;

}

/* =====================================
INTRO
===================================== */

.ab-intro{

display:flex;

gap:25px;

align-items:center;

background:#fdf0e7;

padding:30px;

border-radius:28px;

margin-bottom:20px;

box-shadow:var(--shadow);

}

.ab-intro-icon{

width:70px;

height:70px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:linear-gradient(
180deg,
#AFC6B4,
#89A38E);

flex:none;

}

.ab-intro-text{

font-size:23px;

font-weight:500;

}

/* Titre et texte d'intro du CONTENU DE LA PAGE Shopify
   (au-dessus de notre section, pas géré par ab-intro-text) */

.main-page-title{

font-size:44px;

}

.template__main .rte,
.rte{

font-size:20px;

line-height:1.7;

}

.rte strong{

font-size:26px;

}

/* =====================================
CARTES
===================================== */

.ab-card{

background:#fdf0e7;

padding:35px;

border-radius:35px;

box-shadow:var(--shadow);

margin-bottom:17px;

}

.ab-card-title{

display:flex;

align-items:center;

gap:18px;

margin-bottom:30px;

}

.ab-number{

width:52px;

height:52px;

border-radius:50%;

background:

linear-gradient(
180deg,
#A5BBA7,
#7F9882);

color:white;

display:flex;

align-items:center;

justify-content:center;

font-weight:700;

font-size:22px;

flex:none;

}

.ab-card-title h3{

font-size:28px;

color:var(--green-dark);

font-weight:700;

}

/* =====================================
FORMULAIRE
===================================== */

.ab-grid{

display:grid;

grid-template-columns:
repeat(12,1fr);

gap:20px;

}

.ab-field{

display:flex;

flex-direction:column;

justify-content:flex-end;

}

.ab-field label{

font-size:15px;

font-weight:600;

margin-bottom:8px;

color:var(--brown);

}

.ab-field input,

.ab-field textarea{

width:100%;

border:none;

background:white;

border-radius:18px;

padding:16px 18px;

font-size:16px;

font-family:'Quicksand',Poppins,sans-serif;

transition:.25s;

outline:none;

border:2px solid transparent;

}

.ab-field textarea{

resize:vertical;

min-height:85px;

}

.ab-field input:focus,

.ab-field textarea:focus{

background:white;

border-color:#8EA893;

box-shadow:

0 0 0 6px rgba(143,168,147,.12);

}

.full{

grid-column:span 12;

}

.half{

grid-column:span 6;

}

.third{

grid-column:span 4;

}

.twothird{

grid-column:span 8;

}
/* =======================================================
   OFFRES (conservé si réutilisé ailleurs)
=======================================================*/

.ab-offers{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:28px;

margin-bottom:25px;

}

.ab-offer{

display:block;

cursor:pointer;

}

.ab-offer input{

display:none;

}

.ab-offer-content{

background:#FCF7F5;

border:3px solid transparent;

border-radius:28px;

padding:30px;

text-align:center;

transition:.30s;

height:100%;

}

.ab-offer:hover .ab-offer-content{

transform:translateY(-4px);

box-shadow:0 12px 28px rgba(0,0,0,.08);

}

.ab-offer input:checked + .ab-offer-content{

border-color:var(--green);

background:white;

box-shadow:0 0 0 8px rgba(140,167,147,.10);

}

.ab-offer-icon{

width:74px;

height:74px;

margin:auto auto 18px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-size:34px;

background:linear-gradient(180deg,#AFC6B4,#89A38E);

}

.ab-offer h4{

font-size:24px;

color:var(--green-dark);

margin-bottom:10px;

}

.ab-offer p{

font-size:16px;

color:#6D625A;

margin-bottom:18px;

}

.price{

display:inline-block;

padding:12px 26px;

border-radius:999px;

background:linear-gradient(180deg,#F7DDDD,#F3CBCB);

font-size:24px;

font-weight:700;

color:var(--brown);

}

/* =======================================================
   CASE A COCHER
=======================================================*/

.ab-checkbox{

display:flex;

align-items:flex-start;

gap:15px;

cursor:pointer;

font-size:17px;

}

.ab-checkbox input{

appearance:none;

width:24px;

height:24px;

margin-top:2px;

border-radius:8px;

border:2px solid var(--green);

background:white;

transition:.20s;

position:relative;

flex:none;

}

.ab-checkbox input:checked{

background:var(--green);

}

.ab-checkbox input:checked::after{

content:"✓";

position:absolute;

left:50%;

top:50%;

transform:translate(-50%,-56%);

color:white;

font-weight:700;

font-size:16px;

}

.ab-checkbox input:disabled{

opacity:.35;

cursor:not-allowed;

}

/* =======================================================
   MONTANT
=======================================================*/

.ab-extra{

margin-top:15px;

margin-bottom:25px;

}

.ab-total{

display:flex;

justify-content:space-between;

align-items:center;

padding:24px 28px;

border-radius:22px;

background:linear-gradient(180deg,#EDF4EF,#DCE7DF);

font-size:22px;

font-weight:600;

color:var(--green-dark);

margin-top:30px;

}

#ab-total-price{

font-size:36px;

font-weight:700;

}

/* =======================================================
   BOUTON
=======================================================*/

.ab-button{

margin-top:35px;

width:100%;

padding:22px;

border:none;

border-radius:999px;

background:linear-gradient(180deg,#8FA995,#6E8974);

color:white;

font-size:22px;

font-weight:700;

cursor:pointer;

transition:.25s;

}

.ab-button:hover{

transform:translateY(-3px);

box-shadow:0 12px 28px rgba(0,0,0,.12);

}

.ab-button:active{

transform:translateY(0);

}

/* =======================================================
   INFOS
=======================================================*/

.ab-footer-card{

background:#fdf0e7;

padding:38px;

border-radius:35px;

box-shadow:var(--shadow);

margin-top:35px;

}

.ab-info{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:30px;

margin-bottom:35px;

}

.ab-info-item{

background:#daddcf;

padding:24px;

border-radius:22px;

}

.ab-info-title{

font-size:20px;

font-weight:700;

color:var(--green-dark);

margin-bottom:12px;

}

.ab-info-item p{

font-size:17px;

line-height:1.7;

color:var(--brown);

}

/* =======================================================
   RESPONSIVE
=======================================================*/

@media(max-width:900px){

.ab-title h1{

font-size:36px;

}

.ab-title h2{

font-size:28px;

}

.ab-grid{

grid-template-columns:1fr;

}

.full,
.half,
.third,
.twothird{

grid-column:span 1;

}

.ab-offers{

grid-template-columns:1fr;

}

.ab-info{

grid-template-columns:1fr;

}

}

@media(max-width:640px){

.ab-page{

padding:18px;

}

.ab-card,
.ab-footer-card{

padding:24px;

border-radius:24px;

}

.ab-hero{

border-radius:24px;

}

.ab-image{

}

.ab-title{

padding:28px 20px;

}

.ab-title h1{

font-size:28px;

}

.ab-title h2{

font-size:22px;

}

.ab-card-title h3{

font-size:22px;

}

.ab-number{

width:42px;

height:42px;

font-size:18px;

}

.ab-total{

flex-direction:column;

gap:12px;

text-align:center;

}

#ab-total-price{

font-size:30px;

}

.ab-button{

font-size:18px;

padding:18px;

}

.ab-intro{

flex-direction:column;

text-align:center;

}

}

/* ========================= */
/* Groupes ateliers */
/* ========================= */

.ab-groups {
margin-top:25px;
display:flex;
flex-direction:column;
gap:20px;
}

.ab-group {
/* conteneur simple, le style visuel est porté par .ab-group-accordion */
}

/* ========================= */
/* Accordéon par groupe */
/* ========================= */

.ab-group-accordion{

background:white;

border:2px solid var(--pink);

border-radius:24px;

padding:8px 25px 25px;

}

.ab-group-accordion[open]{

border-color:var(--green);

}

.ab-group-title{

display:flex;

align-items:center;

justify-content:space-between;

gap:12px;

font-size:19px;

padding:17px 0;

cursor:pointer;

list-style:none;

color:var(--green-dark);

}

.ab-group-title::-webkit-details-marker{

display:none;

}

.ab-group-title::after{

content:"▾";

font-size:20px;

color:var(--green);

transition:transform .2s ease;

margin-left:auto;

}

.ab-group-accordion[open] > .ab-group-title::after{

transform:rotate(180deg);

}

.ab-complet{

background:#c94c4c;

color:white;

padding:5px 14px;

border-radius:20px;

font-size:13px;

font-weight:bold;

margin-left:12px;

}

.ab-group-body{

padding-top:5px;

}

.ab-formules-label{

font-weight:600;

color:var(--brown);

margin:18px 0 12px;

}

.ab-accompagnant-hint{

font-weight:normal;

font-size:13px;

color:#9a8a80;

display:block;

margin-top:4px;

}

/* Choix de formule : pastilles compactes, dans l'esprit .price */

.ab-formules{

display:flex;

flex-wrap:wrap;

gap:12px;

margin-bottom:10px;

}

.ab-formule{

display:flex;

align-items:center;

cursor:pointer;

}

.ab-formule input{

display:none;

}

.ab-formule-pill{

display:flex;

flex-direction:column;

align-items:center;

justify-content:center;

gap:3px;

padding:12px 20px;

border-radius:22px;

background:var(--cream2);

border:2px solid var(--pink);

font-size:15px;

font-weight:600;

color:var(--brown);

line-height:1.3;

text-align:center;

transition:.2s;

}

.ab-formule:hover .ab-formule-pill{

border-color:var(--green);

}

.ab-formule input:checked + .ab-formule-pill{

background:linear-gradient(180deg,#AFC6B4,#89A38E);

border-color:var(--green-dark);

color:white;

}

.ab-formule-label{

font-size:14px;

}

.ab-formule-price{

font-size:16px;

font-weight:700;

}

.ab-formule-oldprice{

display:inline-block;

font-size:14px;

font-weight:700;

color:#c94c4c;

text-decoration:line-through;

background:#FBE0DF;

padding:2px 10px;

border-radius:999px;

margin-left:6px;

}

.ab-formule input:checked + .ab-formule-pill .ab-formule-oldprice{

background:rgba(255,255,255,.25);

color:white;

}

font-size:13px;

font-weight:500;

color:#9a8a80;

text-decoration:line-through;

margin-left:4px;

}

.ab-formule input:checked + .ab-formule-pill .ab-formule-oldprice{

color:rgba(255,255,255,.75);

}

/* Ligne fusionnée : date + case accompagnant */

.ab-seance{

display:flex;

align-items:center;

flex-wrap:wrap;

gap:8px 16px;

margin-bottom:10px;

}

.ab-date-choice{

display:flex;

align-items:center;

gap:10px;

padding:14px 18px;

border-radius:18px;

background:#FAF8F5;

border:2px solid transparent;

cursor:pointer;

flex:0 1 auto;

min-width:220px;

transition:.2s;

}

.ab-date-choice:hover{

border-color:var(--green);

}

.ab-date-choice:has(input:disabled){

opacity:.45;

cursor:not-allowed;

}

.ab-date-choice:has(input:disabled):hover{

border-color:transparent;

}

.ab-date-choice input{

width:20px;

height:20px;

flex:none;

}

/* Case "+ accompagnant", accolée à la date */

.ab-accompagnant-inline{

flex:0 0 auto;

padding:10px 16px !important;

margin:0 !important;

background:var(--pink2);

border-radius:18px;

font-size:14px;

gap:8px !important;

}

.ab-accompagnant-inline input{

width:20px !important;

height:20px !important;

margin-top:0 !important;

}

@media(max-width:500px){

.ab-accompagnant-inline{

flex:1 1 100%;

}

}

:root{

--cream:#fdf0e7;
--cream2:#FDFBF8;

.ab-container{

max-width:800px;

margin:auto;

}

/* =======================================================
   BADGE PLACES RESTANTES
=======================================================*/

.ab-places-badge{

display:inline-flex;

align-items:center;

gap:8px;

padding:10px 22px;

border-radius:999px;

font-size:16px;

font-weight:800;

letter-spacing:.3px;

margin-bottom:20px;

}

.ab-places-badge::before{

content:"●";

font-size:11px;

}

.ab-places-badge--ok{

background:#DCEEE0;

color:var(--green-dark);

border:2px solid var(--green-dark);

}

.ab-places-badge--low{

background:#FBEFD9;

color:#8a5f14;

border:2px solid #B8862E;

}

.ab-places-badge--complet{

background:#c94c4c;

color:white;

border:2px solid #c94c4c;

}

.ab-places-badge--complet::before{

content:"✕";

font-size:13px;

}

/* =======================================================
   MODALITÉS
=======================================================*/

.ab-modalites{

background:var(--cream2);

border:2px solid var(--pink);

border-radius:22px;

padding:22px 26px;

margin-bottom:28px;

}

.ab-modalites h3{

font-size:18px;

font-weight:700;

color:var(--green-dark);

margin-bottom:10px;

}

.ab-modalites p{

font-size:13px;

font-style:italic;

line-height:1.6;

color:var(--brown);

}

.ab-intro-text{

font-size:18px;

font-weight:500;

}

.ab-date-text{

display:flex;

flex-direction:column;

gap:2px;

}

.ab-date-day{

font-size:15px;

font-weight:400;

color:var(--text);

}

.ab-date-theme{

font-size:12.5px;

font-weight:400;

font-style:italic;

color:#9a8a80;

}

.ab-success-paiement{

color:#E91E8C;

}

.ab-faq-link{

text-align:center;

font-size:14px;

color:#9a8a80;

margin-bottom:20px;

}

.ab-faq-link a{

color:#8a7161;

font-weight:600;

text-decoration:underline;

}
