:root{--pink:#f7bfd0;--gold:#c8a24a;--white:#fff;--text:#2c1d24;--background:#fff7fa;--card:#fff;--heading:#2c1d24;--buttonText:#fff;--patternOpacity:.25}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:linear-gradient(#fff,var(--background));position:relative;min-height:100vh}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:var(--patternOpacity);z-index:-1}.pattern-soft:before{background:radial-gradient(circle at 15% 20%,var(--pink) 0 8px,transparent 9px),radial-gradient(circle at 85% 15%,var(--gold) 0 6px,transparent 7px);background-size:140px 140px}.pattern-luxe:before{background:linear-gradient(135deg,transparent 0 46%,rgba(200,162,74,.25) 47% 53%,transparent 54%),linear-gradient(45deg,transparent 0 46%,rgba(247,191,208,.25) 47% 53%,transparent 54%);background-size:70px 70px}.pattern-fleurs:before{background:radial-gradient(circle at 20px 20px,rgba(247,191,208,.45) 0 7px,transparent 8px),radial-gradient(circle at 31px 14px,rgba(200,162,74,.35) 0 4px,transparent 5px);background-size:90px 90px}.pattern-vagues:before{background:repeating-radial-gradient(circle at 0 0,rgba(200,162,74,.20) 0 2px,transparent 3px 18px);background-size:80px 80px}.pattern-none:before{background:none}.top{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.95);display:flex;align-items:center;justify-content:space-between;padding:12px 6%;box-shadow:0 4px 20px #0001}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--text);font-weight:800}.brand img{width:54px;height:54px;object-fit:cover;border-radius:50%}nav{display:flex;gap:18px;align-items:center}nav a{color:var(--text);text-decoration:none;font-weight:700}.adminlink{color:var(--gold)}.menu{display:none;background:none;border:0;font-size:30px}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;padding:70px 8%}.tag{color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:.08em}h1{font-size:clamp(42px,7vw,82px);margin:0 0 10px;color:var(--heading)}h2{font-size:32px;text-align:center;color:var(--heading)}.sub{font-size:24px;font-weight:700}.heroimg{width:100%;max-height:480px;object-fit:cover;border-radius:32px;box-shadow:0 20px 60px #0002}.btn{display:inline-block;padding:14px 22px;border-radius:999px;text-decoration:none;font-weight:800;border:0;cursor:pointer}.gold{background:var(--gold);color:var(--buttonText)}.light{background:var(--card);color:var(--text);box-shadow:0 8px 30px #0001}.small{padding:10px 14px;margin-top:8px}.actions{display:flex;gap:12px;flex-wrap:wrap}.panel{margin:30px 8%;padding:35px;border-radius:30px;background:var(--card);box-shadow:0 10px 40px #0001;text-align:center}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0 8% 30px}.card{background:var(--card);border-radius:28px;padding:22px;box-shadow:0 10px 35px #0001}.product img,.gallery img,.wide{width:100%;border-radius:22px;object-fit:cover}.product img{height:240px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 8% 30px}.gallery img{height:260px}.hint{text-align:center}.contact{text-align:center;padding:30px}form{display:grid;gap:12px;max-width:620px;margin:auto}input,textarea,select{padding:14px;border:1px solid #ead4da;border-radius:14px;font:inherit}textarea{min-height:110px}footer{text-align:center;padding:30px;background:var(--card)}.page{text-align:left}.block{margin:25px 0}.block h2{text-align:left}.wide{max-height:500px}figure{margin:25px 0}figcaption{color:#745}@media(max-width:800px){.menu{display:block}nav{display:none;position:absolute;left:0;right:0;top:78px;background:white;padding:20px;flex-direction:column}.open{display:flex}.hero{grid-template-columns:1fr;padding:45px 6%}.cards,.gallery{grid-template-columns:1fr;padding:0 6% 25px}.panel{margin:20px 6%;padding:24px}.gallery img{height:auto}}
.service-flyer{display:grid;grid-template-columns:.85fr 1fr;gap:26px;align-items:center;margin:0 8% 40px;background:#fff;border-radius:26px;padding:24px;box-shadow:0 10px 35px #0001}.service-flyer img{width:100%;max-height:560px;object-fit:contain;border-radius:18px}.bigcards .card{min-height:360px}.category img{height:230px;object-fit:cover}@media(max-width:800px){.service-flyer{grid-template-columns:1fr;margin:0 6% 30px}.service-flyer img{max-height:none}}

.center{justify-content:center}.booking-frame{width:100%;height:760px;border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 10px 35px #0001;margin:20px auto}.booking-frame iframe{width:100%;height:100%;border:0}.booking-placeholder{background:#fff7fa;border:1px dashed var(--gold);border-radius:24px;padding:28px;margin:20px auto;max-width:760px}.booking-placeholder h3{margin-top:0}@media(max-width:800px){.booking-frame{height:720px}}

.notice{background:#fff7fa;border:1px solid #ead4da;border-radius:18px;padding:14px}.mini{font-size:14px;color:#745}.cartitem{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px;border-bottom:1px solid #f1dce2}.cartitem button{border:0;border-radius:50%;background:#8b1e3f;color:#fff;width:28px;height:28px;cursor:pointer}.admin-table{overflow:auto}.admin-table table{width:100%;border-collapse:collapse;background:#fff}.admin-table th,.admin-table td{border:1px solid #ead4da;padding:10px;text-align:left}.admin-table th{background:#fff7fa}.product .gold{margin-right:6px}.booking-frame iframe{width:100%;min-height:720px;border:0;border-radius:22px}.booking-placeholder{background:#fff7fa;border:1px solid #ead4da;border-radius:22px;padding:24px}

.category-admin{border:2px solid #ead4da;border-radius:22px;padding:18px;margin:18px 0;background:linear-gradient(180deg,#fff,#fff7fa)}
.category-admin h3{margin-top:0;color:var(--heading)}
.product-admin-item{display:grid;grid-template-columns:130px 1fr;gap:12px;align-items:start}
.product-admin-item label{display:grid;gap:6px}
@media(max-width:700px){.product-admin-item{grid-template-columns:1fr}.product-admin-item .preview{max-width:100%;}}

.payment-modes{margin:18px 0;padding:16px;border:1px solid rgba(189,140,54,.25);border-radius:18px;background:rgba(255,255,255,.65)}
.payment-modes h3{margin:0 0 10px}
.payment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.payment-grid span{padding:12px;border-radius:14px;background:#fff;border:1px solid rgba(189,140,54,.25);font-weight:700;text-align:center}


.cart-hero{padding:55px 8% 20px;text-align:center}.cart-hero h1{font-size:clamp(38px,6vw,70px)}.cart-page-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:start;padding:0 8% 50px}.cart-panel,.checkout-panel{text-align:left;margin:0}.cart-total-line{display:flex;justify-content:space-between;align-items:center;margin:22px 0;padding:18px;border-radius:18px;background:var(--background);font-size:20px}.checkout-big{width:100%;text-align:center;margin-top:14px}.cartitem{grid-template-columns:1fr auto auto}.cartitem img{width:54px;height:54px;object-fit:cover;border-radius:12px;margin-right:10px}.cart-title{display:flex;align-items:center;gap:10px}@media(max-width:850px){.cart-page-grid{grid-template-columns:1fr;padding:0 6% 35px}.cart-hero{padding:40px 6% 15px}}
.admin-status{margin:12px 0;padding:12px 14px;border-radius:14px;background:#fff7fa;border:1px solid #ead4da;color:#745}.publish-help{background:#fff7fa;border-left:4px solid var(--gold);padding:14px;border-radius:14px;margin:12px 0}
