@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Great+Vibes&display=swap');

:root { --pink:#f40068; --pink-dark:#8a003d; --orange:#ff7900; --teal:#09a7aa; --ink:#19171b; --muted:#6d6870; --cream:#fff9f5; --line:#eadfda; --white:#fff; font-family:"DM Sans",Arial,sans-serif; color:var(--ink); background:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; min-height:100vh; -webkit-font-smoothing:antialiased; }
button,input,select { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; text-decoration:none; }
button { cursor:pointer; }
.announcement { height:36px; display:flex; align-items:center; justify-content:center; gap:10px; color:#fff; background:var(--pink); font-weight:600; font-size:15px; }
.announcement svg { font-size:21px; }
.header { background:#fff; position:sticky; top:0; z-index:40; box-shadow:0 5px 24px rgba(72,28,41,.08); }
.header-inner { max-width:1450px; height:145px; margin:auto; padding:0 42px; display:grid; grid-template-columns:220px minmax(590px,1fr) 190px; align-items:center; gap:22px; }
.logo { width:220px; height:125px; display:block; }
.logo img { width:100%; height:100%; object-fit:contain; }
.header nav { display:flex; align-items:center; justify-content:center; gap:34px; min-width:0; }
.header nav a { font-weight:600; font-size:15px; padding:17px 0; border-bottom:3px solid transparent; white-space:nowrap; }
.header nav a.active,.header nav a:hover { color:var(--pink); border-color:var(--pink); }
.header-tools { display:grid; grid-template-columns:repeat(4,36px); gap:8px; align-items:center; }
.header-tools button { border:0; background:transparent; width:36px; height:38px; padding:6px; color:#282428; position:relative; }
.header-tools svg { width:100%; height:100%; }
.cart-button b { position:absolute; right:-2px; top:0; width:18px; height:18px; display:grid; place-items:center; border-radius:50%; background:var(--pink); color:white; font-size:10px; }
.header-whatsapp { grid-column:1/5; justify-self:end; display:flex; align-items:center; justify-content:center; gap:9px; background:var(--teal); color:white; min-width:184px; padding:9px 18px; border-radius:18px; font-weight:700; }
.header-whatsapp svg { width:22px; height:22px; }
.menu-button { display:none; }
.search-panel { padding:14px max(24px,calc((100% - 1380px)/2)); border-top:1px solid var(--line); display:flex; align-items:center; gap:12px; }
.search-panel input { border:0; outline:0; width:100%; font-size:17px; padding:9px; }
.search-panel button { border:0; background:none; }
.hero { height:570px; background:var(--cream); position:relative; overflow:hidden; }
.hero-slider { height:570px; position:relative; overflow:hidden; background:var(--cream); }
.hero-slider .hero.slide { position:absolute; inset:0; opacity:0; visibility:hidden; transform:translateX(2%); transition:opacity .65s ease,transform .65s ease,visibility .65s; }
.hero-slider .hero.slide.active { opacity:1; visibility:visible; transform:none; z-index:2; }
.hero-slider.transition-slide .hero.slide { transform:translateX(7%); }
.hero-slider.transition-slide .hero.slide.active { transform:translateX(0); }
.hero-slider.transition-zoom .hero.slide { transform:scale(1.045); }
.hero-slider.transition-zoom .hero.slide.active { transform:scale(1); }
.hero-slider.transition-fade .hero.slide { transform:none; }
.hero-slider .hero.slide:not(:first-child) .hero-copy { background:rgba(255,249,245,.88); backdrop-filter:blur(2px); }
.slider-arrow { position:absolute; z-index:8; top:50%; transform:translateY(-50%); width:46px; height:46px; border:1px solid rgba(255,255,255,.8); border-radius:50%; color:#fff; background:rgba(30,15,20,.24); display:grid; place-items:center; }
.slider-arrow.prev { left:20px; }.slider-arrow.next { right:20px; }.slider-arrow svg { width:25px; height:25px; }
.slider-dots { position:absolute; z-index:8; bottom:18px; left:50%; transform:translateX(-50%); display:flex; gap:9px; }
.slider-dots button { width:10px; height:10px; padding:0; border:0; border-radius:50%; background:#fff; box-shadow:0 1px 8px rgba(0,0,0,.3); transition:.2s; }
.slider-dots button.active { width:31px; border-radius:8px; background:var(--pink); }
.hero-copy { position:relative; width:51%; height:100%; padding:52px 20px 34px max(5.5vw,72px); display:flex; flex-direction:column; justify-content:flex-start; align-items:flex-start; z-index:2; }
.hero h1 { font-family:"Great Vibes","Brush Script MT",cursive; font-size:71px; line-height:.98; font-weight:400; max-width:530px; margin:0; display:flex; flex-direction:column; }
.hero-title-primary { color:var(--pink); padding-left:38px; }
.hero-title-accent { color:var(--orange); }
.heart-rule { display:flex; align-items:center; gap:12px; color:var(--pink); margin:11px 0 16px; width:420px; }
.heart-rule span { height:2px; background:var(--pink); flex:1; opacity:.45; }
.heart-rule svg { width:22px; height:22px; }
.hero-subtitle { font-size:19px; color:#414047; margin:0 0 24px; }
.hero-actions { display:flex; gap:12px; flex-wrap:nowrap; }
.hero-actions .btn { padding-inline:20px; white-space:nowrap; font-size:14px; }
.btn { border:0; border-radius:12px; min-height:50px; padding:0 24px; display:inline-flex; align-items:center; justify-content:center; gap:10px; font-weight:700; transition:.2s transform,.2s box-shadow; }
.btn:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(78,9,35,.16); }
.btn svg { font-size:22px; }
.btn.primary { color:white; background:var(--pink); }
.btn.whatsapp { color:white; background:var(--teal); }
.btn.light { color:var(--pink); background:white; }
.btn.ghost { background:#f6f0ed; color:#4e4548; }
.hero-benefits { display:grid; grid-template-columns:repeat(4,1fr); margin-top:27px; width:100%; max-width:545px; }
.hero-benefits span { display:flex; gap:8px; align-items:center; font-size:11px; line-height:1.3; border-right:1px solid #d9ceca; padding:0 10px; font-weight:600; }
.hero-benefits span:last-child { border:0; }
.hero-benefits svg { color:var(--pink); font-size:30px; flex:none; }
.hero-visual { position:absolute; inset:0; overflow:hidden; background:#f3e5dc; }
.hero-visual img { width:100%; height:100%; object-fit:cover; object-position:center center; display:block; }
.section { max-width:1450px; margin:auto; padding:55px 38px 24px; }
.section-title { display:flex; align-items:center; justify-content:center; gap:22px; margin-bottom:28px; }
.section-title span { height:2px; width:100px; background:var(--pink); opacity:.55; }
.section-title h2 { margin:0; font-size:33px; line-height:1.2; font-weight:500; text-align:center; }
.category-grid { display:grid; grid-template-columns:repeat(8,1fr); gap:12px; }
.category-card { padding:0; border:1px solid var(--line); background:#fff; border-radius:17px; overflow:hidden; color:var(--ink); box-shadow:0 4px 12px rgba(51,27,32,.04); transition:.2s; }
.category-card:hover,.category-card.selected { transform:translateY(-4px); border-color:var(--pink); box-shadow:0 12px 26px rgba(204,0,79,.12); }
.category-card img { width:100%; height:206px; object-fit:cover; display:block; background:#f5eeea; }
.category-card span { height:66px; padding:10px 7px; display:grid; place-items:center; font-weight:600; font-size:16px; line-height:1.2; }
.products-section { padding-top:48px; }
.section-heading-row { position:relative; }
.section-heading-row .link-button { position:absolute; right:0; top:6px; }
.link-button { border:0; background:transparent; color:var(--pink); font-weight:700; display:flex; align-items:center; gap:10px; }
.link-button svg { border-radius:50%; background:var(--pink); color:#fff; padding:4px; width:24px; height:24px; }
.product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.product-card { border:1px solid var(--line); border-radius:21px; overflow:hidden; background:#fff; transition:.2s; }
.product-card:hover { transform:translateY(-4px); box-shadow:0 18px 34px rgba(68,34,43,.1); }
.product-price { display:flex; align-items:baseline; gap:9px; flex-wrap:wrap; }
.product-price del { color:#9d8d93; font-size:13px; }
.sale-badge { background:#e60057!important; color:#fff!important; }
.product-image { height:360px; position:relative; background:#f5efec; overflow:hidden; }
.product-image img { width:100%; height:100%; object-fit:cover; transition:.35s transform; }
.product-card:hover .product-image img { transform:scale(1.035); }
.badge { position:absolute; top:14px; left:14px; color:#fff; background:var(--pink); border-radius:17px; padding:7px 17px; font-size:13px; font-weight:700; }
.badge.orange { background:var(--orange); }
.favorite { position:absolute; top:13px; right:13px; width:44px; height:44px; border-radius:50%; border:0; background:#fff; display:grid; place-items:center; }
.favorite svg { width:28px; height:28px; }
.favorite.active { color:var(--pink); }
.product-info { padding:18px 20px 19px; }
.product-info h3 { margin:0 0 5px; font-size:17px; font-weight:600; }
.product-info strong { color:var(--pink); font-size:24px; }
.rating { display:flex; color:var(--orange); gap:3px; margin:8px 0 15px; align-items:center; }
.rating svg { width:17px; height:17px; }
.rating small { color:var(--muted); margin-left:4px; }
.product-add { width:100%; height:48px; }
.promo { max-width:1450px; min-height:330px; margin:32px auto; border-radius:20px; overflow:hidden; display:grid; grid-template-columns:40% 60%; background:var(--pink); color:white; }
.promo-copy { padding:38px 65px; display:flex; flex-direction:column; justify-content:center; }
.promo-copy h2 { font-size:42px; line-height:1.15; font-weight:500; margin:0 0 24px; }
.promo-copy p { font-size:18px; line-height:1.45; max-width:430px; }
.promo-copy .btn { align-self:flex-start; }
.promo-images { display:grid; grid-template-columns:1.2fr 1fr 1fr; min-width:0; }
.promo-images img { width:100%; height:100%; object-fit:cover; min-width:0; }
.trust-bar { max-width:1450px; margin:32px auto 22px; border:1px solid var(--line); border-radius:19px; display:grid; grid-template-columns:repeat(4,1fr); padding:20px 25px; }
.trust-item { display:flex; align-items:center; gap:20px; padding:0 25px; border-right:1px solid var(--line); }
.trust-item:last-child { border:0; }
.trust-item>svg { color:var(--pink); width:54px; height:54px; flex:none; }
.trust-item:nth-child(2)>svg { color:var(--orange); }.trust-item:nth-child(3)>svg { color:var(--teal); }
.trust-item h3 { margin:0 0 6px; font-size:17px; }.trust-item p { margin:0; font-size:14px; line-height:1.4; color:#4f494c; }
.social-section { max-width:1480px; margin:0 auto; padding:10px 25px 20px; }
.social-grid { display:grid; grid-template-columns:repeat(8,1fr); gap:12px; }
.social-grid img { width:100%; aspect-ratio:1; border-radius:14px; object-fit:cover; }
.social-handles { display:flex; justify-content:center; gap:80px; padding:14px; font-weight:600; }
.social-handles span { display:flex; align-items:center; gap:9px; }.social-handles svg { color:var(--pink); font-size:28px; }
.footer { margin-top:0; color:white; background:#690033; }
.footer-grid { max-width:1300px; margin:auto; display:grid; grid-template-columns:1.25fr .75fr 1fr 1.35fr; gap:55px; padding:34px 30px 25px; }
.footer-grid>div+div { border-left:1px solid rgba(255,255,255,.25); padding-left:52px; }
.footer-brand img { filter:brightness(0) invert(1); width:250px; height:130px; object-fit:contain; opacity:.95; }
.footer-brand p { display:flex; gap:12px; line-height:1.45; }.footer-brand p svg { font-size:28px; flex:none; }
.footer h3 { margin:0 0 8px; font-size:19px; }.footer a { display:block; margin:4px 0; font-size:14px; opacity:.93; }
.newsletter p { margin:0 0 10px; font-size:14px; line-height:1.5; }
.newsletter form { display:flex; margin-bottom:18px; }.newsletter input { min-width:0; flex:1; padding:13px; border:0; border-radius:9px 0 0 9px; }.newsletter button { border:0; color:#fff; background:var(--pink); padding:0 20px; border-radius:0 9px 9px 0; }
.footer-social { display:flex; gap:16px; }.footer-social svg { font-size:29px; }
.footer-bottom { max-width:1300px; margin:auto; border-top:1px solid rgba(255,255,255,.2); padding:13px 30px; display:flex; gap:70px; align-items:center; }.footer-bottom span,.footer-bottom a { display:flex; align-items:center; gap:10px; font-weight:600; }.footer-bottom small { display:block; font-weight:400; }.footer-bottom a { margin-left:auto; opacity:.8; }
.drawer-overlay { position:fixed; inset:0; background:rgba(30,12,19,.45); z-index:80; opacity:0; pointer-events:none; transition:.25s; }.drawer-overlay.show { opacity:1; pointer-events:auto; }
.cart-drawer { position:fixed; right:0; top:0; bottom:0; width:min(470px,100%); background:#fff; z-index:90; transform:translateX(100%); transition:.3s; display:flex; flex-direction:column; box-shadow:-20px 0 50px rgba(50,20,30,.18); }.cart-drawer.open { transform:none; }
.drawer-head { padding:28px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); }.drawer-head h2 { margin:4px 0 0; }.drawer-head small,.modal-head small,.admin-top small { color:var(--pink); font-weight:700; letter-spacing:.15em; }.drawer-head button,.modal-head button { border:0; background:#f7f1ee; width:42px; height:42px; border-radius:50%; padding:9px; }
.cart-lines { padding:20px 26px; flex:1; overflow:auto; }.cart-line { display:grid; grid-template-columns:88px 1fr 30px; gap:14px; padding:14px 0; border-bottom:1px solid var(--line); }.cart-line img { width:88px; height:105px; border-radius:10px; object-fit:cover; }.cart-line h4 { margin:3px 0 6px; }.cart-line strong { color:var(--pink); }.remove { border:0; background:none; color:#999; }.qty { display:flex; border:1px solid var(--line); width:max-content; margin-top:12px; border-radius:8px; overflow:hidden; }.qty button { border:0; background:#f8f4f2; width:29px; display:grid; place-items:center; }.qty span { padding:4px 12px; }.qty svg { width:13px; }
.cart-total { padding:22px 28px 28px; border-top:1px solid var(--line); }.cart-total>div { display:flex; justify-content:space-between; font-size:20px; margin-bottom:18px; }.cart-total strong { color:var(--pink); }.cart-total .btn { width:100%; }
.empty-cart,.empty-state { min-height:350px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:var(--muted); }.empty-cart>svg,.empty-state>svg { width:70px; height:70px; color:#e0d3d5; }.empty-cart h3,.empty-state h3 { color:var(--ink); margin-bottom:4px; }.empty-cart p { max-width:280px; }.toast { position:fixed; z-index:120; bottom:28px; left:50%; transform:translateX(-50%); background:#23191e; color:white; padding:14px 23px; border-radius:12px; display:flex; align-items:center; gap:10px; box-shadow:0 15px 35px rgba(0,0,0,.2); }.toast svg { color:#63d6b2; }

[hidden] { display:none!important; }
.no-scroll { overflow:hidden; }
.fill-icon { fill:currentColor; }
.cart-button b { display:none; }
.login-page { min-height:100vh; display:grid; grid-template-columns:1.1fr .9fr; background:#fff9f5; }
.login-visual { min-height:100vh; background:url('hero-home-v2.png') center/cover no-repeat; }
.login-card-wrap { display:grid; place-items:center; padding:35px; }
.login-card { width:min(440px,100%); padding:38px; background:#fff; border:1px solid var(--line); border-radius:24px; box-shadow:0 25px 70px rgba(76,19,40,.12); }
.login-card .login-logo { width:230px; height:130px; object-fit:contain; display:block; margin:0 auto 12px; }
.login-card h1 { margin:0; text-align:center; font-size:29px; }.login-card>p { text-align:center; color:var(--muted); }
.login-card label { display:flex; flex-direction:column; gap:7px; margin:18px 0; font-weight:600; }
.login-card input { border:1px solid #ddd2ce; border-radius:11px; padding:14px; outline:0; }.login-card input:focus { border-color:var(--pink); box-shadow:0 0 0 3px #ffe5f0; }
.login-card .btn { width:100%; }.login-error,.admin-alert { padding:12px 14px; border-radius:10px; background:#fff0f2; color:#b42342; margin:15px 0; }.admin-alert.success { background:#eaf9f3; color:#087956; }
.admin-form-image { width:120px; height:120px; object-fit:cover; border-radius:12px; border:1px solid var(--line); }
.admin-delete { display:inline; }.admin-delete button { color:#dc3f57!important; }

/* Pages intérieures */
.page-banner { min-height:310px; position:relative; display:flex; align-items:center; overflow:hidden; color:#fff; background:#7a003c; isolation:isolate; }
.page-banner-image { position:absolute; z-index:-2; top:0; right:0; width:68%; height:100%; object-fit:cover; object-position:center; display:block; }
.page-banner::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#7a003c 0%,#7a003c 31%,rgba(122,0,60,.96) 42%,rgba(122,0,60,.68) 58%,rgba(122,0,60,.18) 82%,rgba(122,0,60,.04) 100%); }
.page-banner>div { position:relative; z-index:1; width:min(1380px,100%); margin:auto; padding:55px 55px; }
.page-banner small,.about-story small,.editorial-strip small,.contact-form>small { color:#ffb5d2; font-weight:700; letter-spacing:.16em; }
.page-banner h1 { margin:8px 0 10px; font-size:52px; }.page-banner p { margin:0; font-size:19px; max-width:620px; line-height:1.5; }
.shop-toolbar { display:flex; align-items:flex-start; justify-content:space-between; gap:25px; margin-bottom:28px; }
.shop-toolbar>div:first-child { display:flex; flex-direction:column; gap:4px; }.shop-toolbar span { color:var(--muted); font-size:14px; }
.category-filters { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }.category-filters button { padding:9px 14px; border:1px solid var(--line); border-radius:20px; background:#fff; }.category-filters button.active,.category-filters button:hover { color:#fff; background:var(--pink); border-color:var(--pink); }
.editorial-strip { margin-top:50px; border-radius:22px; overflow:hidden; display:grid; grid-template-columns:1fr 1fr; min-height:330px; background:#fff3e8; }.editorial-strip>div { padding:55px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }.editorial-strip small { color:var(--pink); }.editorial-strip h2 { font-size:42px; margin:10px 0; }.editorial-strip p { color:var(--muted); max-width:420px; }.editorial-strip img { width:100%; height:100%; object-fit:cover; }
.category-feature-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }.category-feature-grid>a { min-height:330px; position:relative; overflow:hidden; border-radius:20px; color:#fff; background:#39021d; }.category-feature-grid img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; opacity:.7; transition:.4s transform; }.category-feature-grid a:hover img { transform:scale(1.04); }.category-feature-grid a>div { position:absolute; inset:auto 0 0; padding:30px; background:rgba(67,0,31,.7); }.category-feature-grid h2 { margin:0 0 4px; }.category-feature-grid p { margin:0 0 15px; }.category-feature-grid span { display:flex; gap:8px; align-items:center; font-weight:700; }
.about-story { max-width:1250px; margin:70px auto; padding:0 30px; display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:center; }.about-story img { width:100%; height:560px; border-radius:24px; object-fit:cover; }.about-story small { color:var(--pink); }.about-story h2 { font-size:46px; margin:12px 0 20px; }.about-story p { font-size:18px; line-height:1.7; color:#564e51; }.values-section { max-width:1250px; margin:0 auto 70px; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding:0 30px; }.values-section div { padding:35px; border:1px solid var(--line); border-radius:18px; text-align:center; }.values-section svg { width:46px; height:46px; color:var(--pink); }.values-section p { color:var(--muted); }
.contact-layout { max-width:1250px; margin:65px auto; padding:0 30px; display:grid; grid-template-columns:.8fr 1.2fr; gap:50px; }.contact-cards { display:flex; flex-direction:column; gap:15px; }.contact-cards>a,.contact-cards>div { padding:24px; border:1px solid var(--line); border-radius:16px; display:flex; gap:18px; align-items:center; background:#fff; }.contact-cards svg { width:42px; height:42px; color:var(--pink); }.contact-cards small { color:var(--pink); font-weight:700; }.contact-cards h3,.contact-cards p { margin:4px 0; }.contact-cards p { color:var(--muted); }.contact-form { padding:35px; border:1px solid var(--line); border-radius:22px; box-shadow:0 15px 45px rgba(70,22,39,.07); }.contact-form>small { color:var(--pink); }.contact-form h2 { font-size:35px; margin:8px 0 25px; }.contact-form label { display:flex; flex-direction:column; gap:7px; margin-bottom:18px; font-weight:600; }.contact-form input,.contact-form select,.contact-form textarea { width:100%; padding:13px 14px; border:1px solid #ddd2ce; border-radius:10px; outline:0; resize:vertical; }.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:var(--pink); box-shadow:0 0 0 3px #ffe5f0; }

/* Back office */
.admin-shell { min-height:100vh; background:#f8f5f4; display:grid; grid-template-columns:260px 1fr; }
.admin-sidebar { position:sticky; top:0; height:100vh; background:#fff; border-right:1px solid #eee4e0; padding:15px; display:flex; flex-direction:column; }.admin-logo { height:145px; padding:5px 18px 20px; }.admin-logo img { width:100%; height:100%; object-fit:contain; }.admin-sidebar nav { display:flex; flex-direction:column; gap:6px; }.admin-sidebar nav button,.back-shop { border:0; background:transparent; border-radius:11px; padding:14px 16px; display:flex; align-items:center; gap:12px; text-align:left; font-weight:600; color:#5e5659; }.admin-sidebar nav button svg,.back-shop svg { font-size:23px; }.admin-sidebar nav button.active { background:#fff0f6; color:var(--pink); }.back-shop { margin-top:auto; border:1px solid var(--line); }
.admin-main { padding:30px 42px 60px; min-width:0; }.admin-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:30px; }.admin-top h1 { margin:5px 0 0; font-size:31px; }.admin-user { display:flex; align-items:center; gap:12px; background:#fff; border:1px solid #eee4e0; border-radius:14px; padding:9px 14px; }.admin-user>span { width:39px; height:39px; border-radius:50%; display:grid; place-items:center; background:var(--pink); color:white; font-weight:700; }.admin-user div { display:flex; flex-direction:column; font-size:13px; }.admin-user small { color:var(--muted); }.admin-user>svg { margin-left:10px; }
.dashboard { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.stat-card { background:#fff; border:1px solid #eee4e0; border-radius:17px; padding:23px; display:flex; align-items:center; gap:18px; }.stat-card>svg { width:55px; height:55px; padding:13px; color:var(--teal); background:#e9fafa; border-radius:14px; }.stat-card.pink>svg { color:var(--pink); background:#fff0f6; }.stat-card.orange>svg { color:var(--orange); background:#fff3e6; }.stat-card div { display:flex; flex-direction:column; }.stat-card b { font-size:27px; }.stat-card span { color:var(--muted); }.dashboard .admin-panel { grid-column:1/4; }
.admin-panel { background:#fff; border:1px solid #eee4e0; border-radius:18px; padding:25px; box-shadow:0 7px 25px rgba(55,27,36,.04); }.admin-panel h2 { margin:0 0 5px; }.admin-panel p { color:var(--muted); margin:0 0 20px; }.admin-panel-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; }.admin-panel-head p { margin:0; }
.product-table { border:1px solid #eee4e0; border-radius:13px; overflow:hidden; }.table-row { min-height:79px; display:grid; grid-template-columns:2fr 1.2fr .8fr .7fr .5fr; align-items:center; gap:15px; padding:10px 18px; border-bottom:1px solid #eee4e0; font-size:14px; }.table-row:last-child { border:0; }.table-head { min-height:48px; background:#fbf8f7; text-transform:uppercase; letter-spacing:.08em; color:#8a7f82; font-size:11px; font-weight:700; }.table-product { display:flex; align-items:center; gap:13px; }.table-product img { width:55px; height:58px; object-fit:cover; border-radius:8px; }.status { width:max-content; padding:6px 10px; border-radius:15px; font-size:12px; font-weight:700; }.status.live { background:#e8f9f2; color:#0d8a62; }.status.off { background:#eee; color:#777; }.table-actions { display:flex; gap:8px; }.table-actions button { width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--line); border-radius:8px; background:#fff; }.table-actions button:last-child { color:#dc3f57; }
.settings-form { max-width:900px; }.settings-form>label,.editor-fields>label,.form-two label { display:flex; flex-direction:column; gap:7px; margin-bottom:19px; font-weight:600; font-size:14px; }.settings-form input,.editor-fields input,.editor-fields select { width:100%; border:1px solid #ddd2ce; border-radius:10px; padding:13px 14px; outline:none; background:#fff; }.settings-form input:focus,.editor-fields input:focus,.editor-fields select:focus { border-color:var(--pink); box-shadow:0 0 0 3px #ffe5f0; }.form-two { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.modal-backdrop { position:fixed; inset:0; z-index:100; background:rgba(30,12,19,.55); display:grid; place-items:center; padding:20px; }.editor-modal { background:#fff; width:min(800px,100%); max-height:94vh; overflow:auto; border-radius:20px; }.modal-head { padding:22px 25px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }.modal-head h2 { margin:4px 0 0; }.editor-body { padding:25px; display:grid; grid-template-columns:260px 1fr; gap:28px; }.image-upload { height:330px; position:relative; border-radius:14px; overflow:hidden; background:#f3eeeb; }.image-upload img { width:100%; height:100%; object-fit:cover; }.image-upload span { position:absolute; left:12px; right:12px; bottom:12px; height:45px; background:#fff; display:flex; align-items:center; justify-content:center; gap:8px; border-radius:9px; font-weight:700; color:var(--pink); cursor:pointer; }.image-upload input { display:none; }.switch-line { flex-direction:row!important; align-items:center; background:#faf7f5; padding:13px; border-radius:10px; }.switch-line input { width:18px!important; height:18px; accent-color:var(--pink); }.modal-actions { padding:19px 25px; border-top:1px solid var(--line); display:flex; justify-content:flex-end; gap:10px; }

@media (max-width:1150px) {
  .header-inner { height:105px; padding:0 20px; display:flex; }.logo { width:170px; height:95px; flex:none; }.header nav { gap:18px; margin-left:auto; }.header nav a { font-size:13px; }.header-whatsapp { display:none; }
  .hero h1 { font-size:62px; }.hero-copy { padding-left:45px; width:58%; }.hero-title-primary { padding-left:20px; }.category-grid { grid-template-columns:repeat(4,1fr); }.product-grid { grid-template-columns:repeat(2,1fr); }.trust-bar { margin-inline:20px; grid-template-columns:repeat(2,1fr); gap:20px; }.trust-item:nth-child(2) { border:0; }.promo { margin-inline:20px; }.footer-grid { grid-template-columns:1fr 1fr; }.footer-grid>div+div { border:0; padding-left:0; }.social-grid { grid-template-columns:repeat(4,1fr); }
}
@media (max-width:760px) {
  .announcement { height:auto; min-height:35px; padding:8px 14px; text-align:center; font-size:11px; }.header-inner { height:80px; }.logo { width:130px; height:72px; }.header-tools { margin-left:auto; display:flex; gap:0; }.header-tools>button:nth-child(2),.header-tools>button:nth-child(3) { display:none; }.menu-button { display:block!important; }.header nav { display:none; position:absolute; top:80px; left:0; right:0; background:#fff; padding:18px 25px 25px; flex-direction:column; align-items:stretch; gap:0; box-shadow:0 17px 27px rgba(50,22,31,.12); }.header nav.open { display:flex; }.header nav a { padding:12px 0; }.hero { height:auto; min-height:760px; }.hero-copy { width:100%; height:auto; padding:35px 23px 30px; align-items:center; text-align:center; }.hero h1 { font-size:56px; }.hero-title-primary { padding-left:0; }.heart-rule { width:min(350px,100%); }.hero-subtitle { font-size:17px; }.hero-actions { flex-direction:column; width:100%; }.hero-actions .btn { width:100%; }.hero-benefits { grid-template-columns:repeat(2,1fr); gap:15px; text-align:left; }.hero-benefits span:nth-child(2) { border:0; }.hero-visual { position:absolute; inset:390px 0 0; height:370px; }.hero-visual img { object-position:70% center; }.section { padding:42px 16px 15px; }.section-title { gap:10px; }.section-title h2 { font-size:26px; white-space:nowrap; }.section-title span { width:40px; }.category-grid { display:flex; overflow:auto; scroll-snap-type:x mandatory; padding-bottom:10px; }.category-card { min-width:150px; scroll-snap-align:start; }.category-card img { height:160px; }.section-heading-row .link-button { position:static; margin:-10px auto 20px; }.product-grid { grid-template-columns:1fr 1fr; gap:10px; }.product-image { height:220px; }.product-info { padding:12px; }.product-info h3 { font-size:14px; min-height:36px; }.product-info strong { font-size:18px; }.rating svg { width:13px; }.product-add { padding:0 8px; font-size:12px; min-height:44px; }.promo { margin:25px 15px; grid-template-columns:1fr; }.promo-copy { padding:32px 24px; }.promo-copy h2 { font-size:32px; }.promo-images { height:260px; }.trust-bar { grid-template-columns:1fr; margin:20px 15px; padding:12px 20px; }.trust-item { border:0; border-bottom:1px solid var(--line); padding:14px 0; }.trust-item:last-child { border:0; }.social-section { padding-inline:15px; }.social-grid { grid-template-columns:repeat(2,1fr); gap:8px; }.social-handles { gap:12px; justify-content:space-around; font-size:0; }.social-handles svg { font-size:29px; }.footer-grid { grid-template-columns:1fr; gap:25px; padding:28px 25px; }.footer-brand img { width:210px; }.footer-grid>div+div { border-top:1px solid rgba(255,255,255,.18); padding-top:20px; }.footer-bottom { flex-direction:column; align-items:flex-start; gap:10px; }.footer-bottom a { margin-left:0; }.admin-shell { grid-template-columns:1fr; }.admin-sidebar { position:static; height:auto; flex-direction:row; align-items:center; padding:8px; overflow:auto; }.admin-logo { height:60px; min-width:100px; padding:0; }.admin-sidebar nav { flex-direction:row; }.admin-sidebar nav button { font-size:0; padding:10px; }.admin-sidebar nav button svg { font-size:25px; }.back-shop { margin:0 0 0 auto; font-size:0; padding:10px; }.admin-main { padding:22px 14px 40px; }.admin-user div,.admin-user>svg { display:none; }.dashboard { grid-template-columns:1fr; }.dashboard .admin-panel { grid-column:auto; }.admin-panel { padding:15px; overflow:hidden; }.admin-panel-head { align-items:flex-start; gap:12px; }.admin-panel-head .btn { font-size:0; padding:0 14px; }.product-table { overflow-x:auto; }.table-row { min-width:740px; }.editor-body { grid-template-columns:1fr; }.image-upload { height:260px; }.form-two { grid-template-columns:1fr; gap:0; }
}
@media (max-width:760px) { .hero-slider { height:760px; }.slider-arrow { top:68%; width:38px; height:38px; }.page-banner { min-height:240px; }.page-banner-image { width:100%; }.page-banner::before { background:linear-gradient(90deg,#7a003c 0%,rgba(122,0,60,.94) 50%,rgba(122,0,60,.45) 100%); }.page-banner>div { padding:38px 22px; }.page-banner h1 { font-size:37px; }.shop-toolbar { flex-direction:column; }.category-filters { justify-content:flex-start; overflow:auto; flex-wrap:nowrap; width:100%; }.category-filters button { white-space:nowrap; }.editorial-strip,.about-story,.contact-layout { grid-template-columns:1fr; }.editorial-strip>div { padding:32px 24px; }.category-feature-grid { grid-template-columns:1fr; }.category-feature-grid>a { min-height:280px; }.about-story { margin:40px auto; gap:28px; }.about-story img { height:400px; }.about-story h2 { font-size:36px; }.values-section { grid-template-columns:1fr; }.contact-layout { margin:40px auto; padding:0 16px; }.contact-form { padding:24px 18px; } }
@media (max-width:430px) { .product-grid { grid-template-columns:1fr; }.product-image { height:360px; }.hero h1 { font-size:52px; }.promo-images { grid-template-columns:1fr 1fr; }.promo-images img:first-child { display:none; } }
@media (max-width:760px) { .login-page { grid-template-columns:1fr; }.login-visual { display:none; }.login-card-wrap { min-height:100vh; padding:18px; }.login-card { padding:25px; } }
.admin-sidebar nav a { border:0; background:transparent; border-radius:11px; padding:14px 16px; display:flex; align-items:center; gap:12px; text-align:left; font-weight:600; color:#5e5659; }
.admin-sidebar nav a svg { width:23px; height:23px; }
.admin-sidebar nav a.active { background:#fff0f6; color:var(--pink); }
.table-actions>a { width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--line); border-radius:8px; background:#fff; }
@media (max-width:760px) { .admin-sidebar nav a { font-size:0; padding:10px; }.admin-sidebar nav a svg { width:25px; height:25px; } }

/* Back-office enrichi */
.login-page { min-height:100vh; display:grid; grid-template-columns:1fr; place-items:center; position:relative; background-image:var(--login-bg); background-size:cover; background-position:center; }
.login-page::before { content:""; position:absolute; inset:0; background:rgba(55,5,29,.58); }
.login-card-wrap { position:relative; z-index:1; width:100%; min-height:100vh; display:grid; place-items:center; padding:25px; }
.login-card { backdrop-filter:blur(8px); }
.admin-shell { grid-template-columns:280px 1fr; }
.admin-sidebar nav { overflow-y:auto; padding-right:3px; }
.admin-sidebar nav a { flex:none; }
.dashboard { grid-template-columns:repeat(4,1fr); }
.stat-card.purple>svg { color:#7950d8; background:#f2edff; }
.dashboard .admin-welcome,.dashboard .recent-activity { grid-column:1/5; }
.admin-welcome { display:flex; justify-content:space-between; align-items:center; gap:30px; background:#fff; }
.admin-welcome small { color:var(--pink); font-weight:700; letter-spacing:.13em; }
.quick-actions { display:flex; gap:10px; flex-wrap:wrap; }.quick-actions a { padding:12px 15px; border:1px solid var(--line); border-radius:11px; display:flex; align-items:center; gap:8px; font-weight:700; }.quick-actions a:hover { color:var(--pink); border-color:var(--pink); }
.activity-list { display:flex; flex-direction:column; }.activity-list>div { display:grid; grid-template-columns:32px 1fr auto; align-items:center; gap:12px; padding:13px 0; border-bottom:1px solid var(--line); }.activity-list>div:last-child { border:0; }.activity-list svg { color:var(--pink); width:22px; }.activity-list span { display:flex; flex-direction:column; font-size:13px; }.activity-list small { color:var(--muted); }
.admin-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.visual-admin-card { border:1px solid var(--line); border-radius:16px; overflow:hidden; }.visual-admin-card>img { width:100%; height:185px; object-fit:cover; }.visual-admin-card>div { padding:17px; }.visual-admin-card h3 { margin:12px 0 2px; }.visual-admin-card p { margin:0 0 15px; }.visual-card-actions { display:flex; justify-content:space-between; align-items:center; }.visual-card-actions a,.visual-card-actions button { border:1px solid var(--line); background:#fff; border-radius:8px; min-height:36px; padding:7px 11px; display:flex; align-items:center; gap:7px; }.visual-card-actions button { color:#d73553; }
.banner-settings-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }.banner-settings-grid label { position:relative; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#faf7f5; }.banner-settings-grid label>span { display:block; padding:13px 16px; font-weight:700; }.banner-settings-grid img { width:100%; height:240px; display:block; object-fit:cover; }.banner-settings-grid b { position:absolute; right:12px; bottom:12px; background:#fff; color:var(--pink); padding:10px 13px; border-radius:9px; display:flex; align-items:center; gap:8px; cursor:pointer; box-shadow:0 5px 18px rgba(0,0,0,.12); }.banner-settings-grid input,.brand-upload input { display:none; }
.reports { display:flex; flex-direction:column; gap:20px; }.report-actions { display:flex; justify-content:space-between; align-items:center; }.report-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:17px; }.report-grid>div { background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px; display:flex; flex-direction:column; }.report-grid small { color:var(--muted); font-weight:700; letter-spacing:.08em; }.report-grid b { color:var(--pink); font-size:36px; margin:8px 0 0; }.report-bars { display:grid; grid-template-columns:1fr 1fr; gap:19px 35px; margin-top:25px; }.report-bars>div>span { display:flex; justify-content:space-between; margin-bottom:7px; font-size:14px; }.report-bars i { height:9px; border-radius:8px; background:#f1e9e6; display:block; overflow:hidden; }.report-bars em { height:100%; display:block; background:var(--pink); border-radius:8px; }
.user-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:15px; }.user-grid article { border:1px solid var(--line); border-radius:15px; padding:18px; display:grid; grid-template-columns:54px 1fr auto; align-items:center; gap:14px; }.user-grid article>span { width:52px; height:52px; display:grid; place-items:center; border-radius:50%; background:#fff0f6; color:var(--pink); font-weight:800; }.user-grid h3,.user-grid p { margin:2px 0; }.user-grid p { color:var(--muted); font-size:13px; }.user-grid article>div:last-child { display:flex; gap:7px; }.user-grid article>div:last-child a,.user-grid article>div:last-child button { width:35px; height:35px; border:1px solid var(--line); border-radius:8px; display:grid; place-items:center; background:#fff; }.user-grid article>div:last-child button { color:#d73553; }
.settings-wide { max-width:none; }.settings-sections { display:grid; grid-template-columns:1fr 1fr; gap:40px; }.settings-sections section { min-width:0; }.settings-sections h3 { padding-bottom:12px; border-bottom:1px solid var(--line); }.brand-upload { display:grid; grid-template-columns:1fr 1fr; gap:15px; }.brand-upload label { border:1px solid var(--line); border-radius:14px; overflow:hidden; display:flex; flex-direction:column; }.brand-upload label>span { padding:12px; font-weight:700; }.brand-upload img { width:100%; height:175px; object-fit:cover; background:#faf7f5; }.brand-upload b { padding:11px; text-align:center; color:var(--pink); cursor:pointer; }.user-editor { width:min(720px,100%); }.user-editor-fields { padding:28px; }

/* Correction précise du slider téléphone */
@media (max-width:760px) {
  .hero-slider { height:800px; min-height:800px; }
  .hero-slider .hero.slide { height:800px; min-height:800px; transform:none; }
  .hero-slider .hero.slide .hero-copy { width:100%; height:410px; min-height:410px; padding:28px 20px 20px; align-items:center; text-align:center; background:#fff9f5; backdrop-filter:none; }
  .hero-slider .hero.slide h1 { font-size:48px; line-height:.94; width:100%; max-width:360px; }
  .hero-slider .hero-title-primary { padding-left:0; }
  .hero-slider .heart-rule { margin:9px auto 12px; width:min(300px,100%); }
  .hero-slider .hero-subtitle { font-size:15px; line-height:1.35; margin-bottom:15px; max-width:345px; }
  .hero-slider .hero-actions { display:grid; grid-template-columns:1fr; gap:9px; width:100%; max-width:345px; }
  .hero-slider .hero-actions .btn { min-height:45px; width:100%; font-size:13px; }
  .hero-slider .hero-benefits { display:none; }
  .hero-slider .hero-visual { position:absolute; inset:410px 0 0; height:390px; }
  .hero-slider .hero-visual img { width:100%; height:100%; object-fit:cover; object-position:68% center; }
  .hero-slider .slider-arrow { top:605px; width:38px; height:38px; }
  .hero-slider .slider-arrow.prev { left:10px; }.hero-slider .slider-arrow.next { right:10px; }
  .hero-slider .slider-dots { bottom:13px; }
  .admin-shell { grid-template-columns:1fr; }.dashboard { grid-template-columns:1fr 1fr; }.dashboard .admin-welcome,.dashboard .recent-activity { grid-column:1/3; }.admin-welcome { flex-direction:column; align-items:flex-start; }.admin-card-grid,.banner-settings-grid,.report-grid,.user-grid,.settings-sections { grid-template-columns:1fr; }.report-bars { grid-template-columns:1fr; }.brand-upload { grid-template-columns:1fr; }.activity-list>div { grid-template-columns:28px 1fr; }.activity-list small { grid-column:2; }.admin-sidebar nav { flex-direction:row; overflow-x:auto; }.admin-sidebar nav a { min-width:46px; }
}
@media (max-width:430px) { .dashboard { grid-template-columns:1fr; }.dashboard .admin-welcome,.dashboard .recent-activity { grid-column:1; }.hero-slider .hero.slide h1 { font-size:44px; } }
@media print { .admin-sidebar,.admin-top,.report-actions button { display:none!important; }.admin-shell { display:block; }.admin-main { padding:0; }.reports .admin-panel { break-inside:avoid; } }

/* Back-office finance, uploads and profile enhancements */
.admin-user>img { width:42px; height:42px; border-radius:50%; object-fit:cover; border:2px solid #fff; box-shadow:0 0 0 2px #f5dce6; }
.dashboard { grid-template-columns:repeat(5,minmax(0,1fr)); }
.dashboard .admin-welcome,.dashboard .recent-activity { grid-column:1/6; }
.stat-card.green>svg { color:#168b77; background:#e7f8f3; }
.money-stat b,.stat-card.green b { font-size:20px; line-height:1.2; }
.inventory-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; margin:6px 0 25px; }
.inventory-summary>div { padding:18px; border:1px solid var(--line); border-radius:14px; background:linear-gradient(145deg,#fff 30%,#fff6f9); display:flex; flex-direction:column; gap:7px; }
.inventory-summary small { color:var(--muted); font-weight:750; letter-spacing:.05em; }
.inventory-summary b { color:var(--pink); font-size:21px; }
.banner-setting-card { border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#faf7f5; padding:0 0 16px; display:flex; flex-direction:column; align-items:stretch; }
.banner-setting-card>span { display:block; padding:13px 16px; font-weight:750; background:#fff; }
.banner-setting-card>img { width:100%; height:230px; display:block; object-fit:cover; }
.banner-setting-card>label { margin:13px 14px 8px; min-height:44px; border:1px dashed #e3b7c7; border-radius:10px; background:#fff; color:var(--pink); display:flex; align-items:center; justify-content:center; gap:8px; font-weight:700; cursor:pointer; }
.banner-setting-card>label input { display:none; }
.banner-setting-card>small { color:var(--muted); padding:0 15px 12px; text-align:center; }
.banner-setting-card>.btn { margin:0 14px; justify-content:center; }
.compact-banners { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.compact-banners .banner-setting-card { padding-bottom:10px; }
.compact-banners .banner-setting-card>img { height:135px; }
.banner-card-copy { padding:10px 12px 3px; min-height:62px; display:flex; flex-direction:column; gap:3px; }
.banner-card-copy b { font-size:14px; }
.banner-card-copy small { color:var(--muted); font-size:10px; letter-spacing:.06em; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.compact-banners .banner-setting-card>form[id^="banner-upload"] { margin:7px 10px; }
.compact-banners .banner-setting-card>form[id^="banner-upload"] label { min-height:36px; border:1px dashed #e3b7c7; border-radius:8px; color:var(--pink); background:#fff; display:flex; align-items:center; justify-content:center; gap:6px; cursor:pointer; font-size:12px; font-weight:700; }
.compact-banners .banner-setting-card>form[id^="banner-upload"] input { display:none; }
.banner-card-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; padding:0 10px; }
.banner-card-actions>a,.banner-card-actions>button,.banner-card-actions>form button { width:100%; min-height:34px; border:1px solid var(--line); border-radius:7px; background:#fff; color:#66565c; display:flex; align-items:center; justify-content:center; gap:4px; font-size:10px; font-weight:700; }
.banner-card-actions>button { background:var(--pink); color:#fff; border-color:var(--pink); }
.banner-card-actions>form button { color:#c92f4c; }
.banner-card-actions svg { width:14px; height:14px; }
.banner-editor textarea { width:100%; resize:vertical; border:1px solid var(--line); border-radius:9px; padding:12px; font:inherit; }
.banner-edit-preview { height:360px; }
.form-help { color:var(--muted); font-size:12px; line-height:1.5; }
.modal-form-error { margin:16px 24px 0; padding:12px 14px; border:1px solid #f1b8c4; border-radius:10px; background:#fff1f4; color:#a71d38; display:flex; gap:10px; align-items:flex-start; }
.modal-form-error span { display:flex; flex-direction:column; gap:2px; font-size:13px; }
.modal-form-error svg { flex:0 0 20px; }
.user-grid .user-avatar { width:54px; height:54px; border-radius:50%; object-fit:cover; border:2px solid #fff; box-shadow:0 0 0 2px #f4d8e3; }
.avatar-upload { display:grid!important; grid-template-columns:82px 1fr; gap:17px; align-items:center; padding:14px!important; border:1px solid var(--line); border-radius:14px; background:#fff8fb; cursor:pointer; }
.avatar-upload img { width:82px; height:82px; border-radius:50%; object-fit:cover; border:3px solid #fff; box-shadow:0 0 0 2px #f2ccdb; }
.avatar-upload>span { display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
.avatar-upload em { color:var(--muted); font-size:12px; font-style:normal; }
.avatar-upload strong { margin-top:5px; border:1px solid #edcad8; border-radius:8px; padding:8px 11px; color:var(--pink); display:inline-flex; align-items:center; gap:7px; font-size:13px; }
.avatar-upload input { display:none; }
.print-report-head { display:flex; align-items:center; gap:18px; padding:17px 21px; background:#fff; border:1px solid var(--line); border-radius:16px; }
.print-report-head img { width:115px; height:65px; object-fit:contain; }
.print-report-head h2,.print-report-head p { margin:2px 0; }
.print-report-head p { color:var(--muted); }
.financial-report b { font-size:23px; line-height:1.2; }
.report-table-panel h2 { margin:0 0 14px; }
.report-table { width:100%; border-collapse:collapse; font-size:14px; }
.report-table th,.report-table td { padding:10px 12px; border-bottom:1px solid var(--line); text-align:left; }
.report-table th { color:#6b5960; background:#fff7fa; }
.report-table th:nth-child(n+2),.report-table td:nth-child(n+2) { text-align:right; }
.report-table tfoot th { color:var(--pink); border-top:2px solid #efb5ca; }
.management-layout { display:grid; grid-template-columns:minmax(290px,360px) minmax(0,1fr); gap:20px; align-items:start; }
.management-form { position:sticky; top:20px; display:flex; flex-direction:column; gap:13px; }
.management-form h2,.management-form p { margin:0; }
.management-form p { color:var(--muted); line-height:1.5; }
.management-form>label:not(.switch-line) { display:flex; flex-direction:column; gap:7px; font-weight:650; }
.management-form input[type="text"],.management-form input[type="number"],.management-form input[type="date"],.management-form input:not([type]) { width:100%; min-height:45px; border:1px solid var(--line); border-radius:9px; padding:0 12px; background:#fff; }
.category-admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.category-admin-grid article { display:grid; grid-template-columns:62px 1fr 36px; gap:12px; align-items:center; border:1px solid var(--line); border-radius:13px; padding:9px; }
.category-admin-grid img { width:62px; height:55px; object-fit:cover; border-radius:9px; }
.category-admin-grid button,.promotion-actions button { width:35px; height:35px; border:1px solid var(--line); border-radius:8px; background:#fff; color:#d73553; display:grid; place-items:center; }
.product-checklist { border:1px solid var(--line); border-radius:11px; padding:9px; max-height:220px; overflow:auto; }
.product-checklist legend { padding:0 6px; font-weight:700; }
.product-checklist label { display:grid; grid-template-columns:20px 1fr auto; align-items:center; gap:7px; padding:8px 5px; border-bottom:1px solid #f4ece9; cursor:pointer; }
.product-checklist small { color:var(--muted); }
.promotion-list { display:flex; flex-direction:column; gap:11px; }
.promotion-list article { display:grid; grid-template-columns:72px 1fr auto; align-items:center; gap:15px; border:1px solid var(--line); border-radius:14px; padding:14px; }
.promotion-rate { width:68px; height:58px; display:grid; place-items:center; border-radius:12px; background:#fff0f6; color:var(--pink); font-size:19px; font-weight:800; }
.promotion-list h3,.promotion-list p { margin:2px 0 7px; }
.promotion-list p { color:var(--muted); font-size:13px; }
.promotion-actions { display:flex; gap:7px; }
.empty-management { text-align:center; padding:40px; color:var(--muted); }
.empty-management svg { width:40px; height:40px; }

@media (max-width:1150px) {
  .dashboard { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard .admin-welcome,.dashboard .recent-activity { grid-column:1/3; }
  .inventory-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .management-layout { grid-template-columns:1fr; }
  .management-form { position:static; }
  .compact-banners { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:430px) {
  .dashboard { grid-template-columns:1fr; }
  .dashboard .admin-welcome,.dashboard .recent-activity { grid-column:1; }
  .inventory-summary { grid-template-columns:1fr; }
  .admin-user { padding:7px 9px; }
  .admin-user>img { width:36px; height:36px; }
  .avatar-upload { grid-template-columns:64px 1fr; }
  .avatar-upload img { width:64px; height:64px; }
  .category-admin-grid { grid-template-columns:1fr; }
  .promotion-list article { grid-template-columns:58px 1fr; }
  .promotion-rate { width:56px; }
  .promotion-actions { grid-column:2; }
  .compact-banners { grid-template-columns:1fr; }
}
@media print {
  @page { size:A4 portrait; margin:8mm; }
  body { background:#fff!important; color:#111; }
  .report-actions,.report-activity-screen { display:none!important; }
  .report-print-sheet { gap:7px; font-size:10px; }
  .print-report-head { padding:5px 8px; border-radius:0; }
  .print-report-head img { width:74px; height:37px; }
  .print-report-head h2 { font-size:16px; }
  .print-report-head p { font-size:9px; }
  .report-grid { grid-template-columns:repeat(4,1fr); gap:5px; }
  .report-grid>div { padding:7px; border-radius:0; }
  .report-grid small { font-size:8px; }
  .report-grid b { font-size:15px; margin:2px 0; }
  .report-grid span { font-size:8px; }
  .report-print-sheet .admin-panel { padding:7px 9px; border-radius:0; }
  .report-table-panel h2 { font-size:13px; margin:0 0 4px; }
  .report-table { font-size:8px; }
  .report-table th,.report-table td { padding:3px 5px; }
}
/* Afficher ou masquer tous les champs de mot de passe */
.password-field{position:relative;width:100%;display:block}.password-field>input{width:100%;padding-right:50px!important}.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:10px;background:transparent;color:#6f6670;display:grid;place-items:center;cursor:pointer;z-index:2}.password-toggle:hover,.password-toggle:focus-visible{background:#fff0f5;color:var(--pink);outline:none}.password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}

/* Tri du catalogue dans le back-office */
.table-head .table-sort{border:0;background:transparent;color:inherit;padding:8px 0;display:flex;align-items:center;gap:6px;text-transform:inherit;letter-spacing:inherit;font:inherit;cursor:pointer;text-align:left}.table-head .table-sort svg{width:14px;height:14px}.table-head .table-sort:hover,.table-head .table-sort.active{color:var(--pink)}.table-head .table-sort[data-direction="desc"] svg{transform:rotate(180deg)}.table-product>span{display:flex;flex-direction:column;gap:3px;min-width:0}.table-product>span b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-product>span small{font-size:11px;color:var(--muted);font-weight:500}

/* Gestion des images supplémentaires */
.product-editor-modal{width:min(920px,100%)}.product-gallery-editor{border-top:1px solid var(--line);padding:22px 25px}.product-gallery-editor h3{margin:0 0 4px}.product-gallery-editor p{margin:0 0 16px;color:var(--muted);font-size:13px}.existing-gallery,.gallery-selection-preview{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.existing-gallery>label,.gallery-selection-preview>span{position:relative;min-height:115px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#faf7f5}.existing-gallery img,.gallery-selection-preview img{width:100%;height:90px;object-fit:cover}.existing-gallery>label>span{position:absolute;left:5px;right:5px;bottom:5px;background:#fff;border-radius:7px;padding:5px;display:flex;align-items:center;justify-content:center;gap:5px;font-size:11px;font-weight:700}.gallery-upload-card{display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px;color:var(--pink);cursor:pointer}.gallery-upload-card svg{width:27px}.gallery-upload-card small{color:var(--muted)}.gallery-upload-card input{display:none}.gallery-selection-preview{margin-top:10px}.gallery-selection-preview:empty{display:none}.gallery-selection-preview>span{display:flex;flex-direction:column}.gallery-selection-preview small{padding:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Galerie visible sur le site */
.product-gallery-button{position:absolute;right:13px;bottom:13px;border:0;border-radius:20px;background:rgba(255,255,255,.94);color:var(--ink);padding:8px 11px;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;box-shadow:0 5px 16px rgba(44,20,28,.16);cursor:pointer}.product-gallery-button svg{width:16px;height:16px;color:var(--pink)}.product-gallery-button:hover{background:var(--pink);color:#fff}.product-gallery-button:hover svg{color:#fff}.product-gallery-modal{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:22px}.product-gallery-modal[hidden]{display:none}.gallery-modal-overlay{position:absolute;inset:0;border:0;background:rgba(25,9,15,.75)}.product-gallery-modal>section{position:relative;z-index:1;width:min(900px,100%);max-height:94vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.product-gallery-modal header{padding:18px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.product-gallery-modal header small{color:var(--pink);font-weight:700;letter-spacing:.12em}.product-gallery-modal header h2{margin:3px 0 0}.product-gallery-modal header>button{width:42px;height:42px;border:0;border-radius:50%;background:#f8f3f1;display:grid;place-items:center}.gallery-modal-content{padding:20px}.gallery-main-image{height:min(64vh,620px);position:relative;border-radius:15px;overflow:hidden;background:#f5efec}.gallery-main-image>img{width:100%;height:100%;object-fit:contain}.gallery-main-image>button{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;box-shadow:0 5px 18px rgba(0,0,0,.15)}.gallery-main-image>button:first-child{left:14px}.gallery-main-image>button:last-child{right:14px}.gallery-thumbnails{display:flex;gap:9px;overflow:auto;padding-top:13px}.gallery-thumbnails button{flex:0 0 76px;height:76px;padding:2px;border:2px solid transparent;border-radius:10px;background:#f5efec;overflow:hidden}.gallery-thumbnails button.active{border-color:var(--pink)}.gallery-thumbnails img{width:100%;height:100%;object-fit:cover;border-radius:7px}

@media(max-width:760px){.existing-gallery,.gallery-selection-preview{grid-template-columns:repeat(3,1fr)}.product-gallery-modal{padding:8px}.product-gallery-modal>section{border-radius:15px}.gallery-modal-content{padding:10px}.gallery-main-image{height:58vh}.product-gallery-modal header h2{font-size:18px}.gallery-main-image>button{width:38px;height:38px}.product-gallery-button{font-size:11px;padding:7px 9px}}
