/* Le backoffice utilise une densité de travail, le catalogue conserve ses espaces de lecture. */
#admin-page{padding:16px 24px;max-width:none;width:100%;margin:0 auto;font-size:.92rem}#admin-page .admin-header{margin-bottom:12px;gap:12px}#admin-page .admin-header h1{margin-bottom:4px;font-size:1.8rem}#admin-page .brand{font-size:.8rem;margin-bottom:4px}#admin-page .panel{padding:16px;margin-top:12px;margin-bottom:12px}#admin-page .panel h2{margin-top:0;font-size:1.15rem}#admin-page .stock-table td,#admin-page .stock-table th{padding:9px 11px}#admin-page .stock-table td small{margin-top:3px;font-size:.77rem}#admin-page .filters{gap:10px;margin-bottom:12px}#admin-page .field input,#admin-page .field select{padding:8px 10px}#admin-page .admin-nav{margin:10px 0 16px;gap:6px}#admin-page .admin-nav__link,#admin-page .admin-nav-group>summary{padding:9px 12px;font-size:.88rem}#admin-page .metric-card{padding:16px}#admin-page .metric-grid{gap:12px}#admin-page .button{padding:9px 14px}.admin-nav-group[data-current]>summary{border-color:var(--selva-gold);color:var(--text);box-shadow:inset 0 -2px var(--selva-gold)}
.commerce-shell{padding-top:28px;padding-bottom:48px}.commerce-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.commerce-header h1{margin:5px 0;font-size:2rem}.commerce-header p{margin:8px 0;color:var(--text)}.account-card{max-width:550px;margin:20px auto;padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:14px}.account-card--wide{max-width:850px}.account-card h1{margin-top:5px}.commerce-form{display:grid;gap:14px}.commerce-form .field{display:grid;gap:5px}.commerce-form input,.commerce-form select,.commerce-form textarea,.cart-quantity input{width:100%;padding:11px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);font:inherit}.commerce-form small{font-size:.82rem}.commerce-form .check-label{display:flex;align-items:flex-start;gap:9px;line-height:1.5;font-size:.9rem}.commerce-form input[type=checkbox]{width:auto;flex:none;margin-top:5px}.commerce-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px}.checkout-summary{align-self:start;position:sticky;top:20px}.checkout-total{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid var(--border);margin-top:16px}.checkout-total strong{font-size:1.35rem;color:var(--selva-gold)}.checkout-summary>.button{display:block;text-align:center}.cart-row{display:grid;grid-template-columns:90px minmax(0,1fr) 90px 110px auto;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--border)}.cart-row img{max-width:90px;max-height:100px;object-fit:contain}.cart-row small{display:block;margin:5px 0}.cart-quantity label{display:block;font-size:.8rem}.cart-unavailable{color:var(--danger);font-weight:700}.cart-form>.button{margin-top:20px}.quick-add{padding:8px 0}.catalogue-card .quick-add{padding:0 14px 14px}.quick-add .button{width:100%;padding:9px;font-size:.88rem}.button:disabled{opacity:.55;cursor:not-allowed}.site-cart-link{display:inline-flex;align-items:center;gap:5px}#cart-count{border-radius:20px;padding:1px 6px;min-width:20px;background:var(--selva-gold);color:#0a1a2f;text-align:center;font-size:.78rem}.cart-toast{position:fixed;bottom:24px;right:24px;max-width:420px;padding:20px 48px 20px 20px;background:var(--surface);color:var(--text);border:1px solid var(--selva-gold);box-shadow:0 15px 50px #0004;z-index:400;border-radius:12px}.cart-toast p{margin:0 0 12px}.cart-toast>button{position:absolute;top:8px;right:10px;background:transparent;color:inherit;border:0;font-size:24px;cursor:pointer}.account-reservations{display:grid;gap:12px}.reservation-tile{display:flex;gap:20px;align-items:center;padding:20px;border:1px solid var(--border);background:var(--surface);border-radius:12px;text-decoration:none;color:var(--text)}.reservation-tile>div{flex:1}.reservation-tile small{display:block;margin-top:5px}.reservation-tile .new-badge{position:static}.status-pill{display:inline-block;padding:5px 9px;border:1px solid var(--border);border-radius:7px;font-size:.8rem;white-space:nowrap}.status-pill--pending{color:var(--warning)}.status-pill--discussing{border-color:var(--selva-gold);color:var(--text)}.status-pill--confirmed{color:var(--success);border-color:var(--success)}.status-pill--cancelled,.status-pill--expired{opacity:.7}.reservation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.reservation-grid>*{min-width:0}.reservation-messages{display:flex;flex-direction:column;gap:12px;max-height:500px;overflow:auto;padding:10px 3px}.reservation-message{padding:12px 16px;border-radius:10px;background:var(--background);border:1px solid var(--border);max-width:90%;align-self:flex-start}.reservation-message--admin{align-self:flex-end;border-color:var(--selva-gold)}.reservation-message header{display:flex;justify-content:space-between;gap:16px;font-size:.82rem}.reservation-message time{opacity:.7}.reservation-message p{white-space:normal;overflow-wrap:anywhere;line-height:1.6;margin-bottom:0}.reservation-toolbar{display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap}.email-preview{background:var(--surface);padding:20px;border:1px solid var(--border)}.email-preview>header{background:#0a1a2f;color:#c8a564;padding:20px;font-weight:800;letter-spacing:2px}.email-preview p{line-height:1.8;overflow-wrap:anywhere}.commerce-suggestions{margin:35px 0}.commerce-suggestions .catalogue-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.commerce-suggestions h2{font-size:1.4rem}.commerce-suggestions .shop-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.checkout-grid{grid-template-columns:minmax(0,1fr) 310px}.cart-row{grid-template-columns:70px minmax(0,1fr) 70px}.cart-row>strong,.cart-row>.link-button{grid-column:2}.commerce-suggestions .catalogue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){#admin-page{padding:12px}.commerce-header{align-items:flex-start;flex-direction:column}.commerce-two,.checkout-grid,.reservation-grid{grid-template-columns:1fr}.checkout-summary{position:static}.account-card{padding:20px}.reservation-tile{flex-wrap:wrap}.cart-toast{left:12px;right:12px;bottom:12px;max-width:none}.commerce-suggestions .catalogue-grid,.commerce-suggestions .shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-message{max-width:100%}}

#admin-page .stat-card{padding:12px}#admin-page .stat-grid{gap:10px}#admin-page .stat-card>strong{font-size:1.6rem}#admin-page .quick-actions{gap:10px;margin:12px 0}#admin-page .quick-actions>a{padding:12px}

.reservation-grid{align-items:start}@media(max-width:760px){.reservation-grid .stock-table th:nth-child(3),.reservation-grid .stock-table td:nth-child(3){display:none}.reservation-grid .stock-table td:nth-child(n+2){white-space:nowrap}.reservation-grid .stock-table th:nth-child(2){font-size:.72rem}}
.admin-front-link{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}
.application-version{color:var(--muted);font-size:.75rem}

/* Customer pages: consistent spacing between headings, copy, fields and actions. */
.commerce-shell{padding-block:48px 72px}
.commerce-shell .panel{padding:32px;border-radius:14px;min-width:0}
.commerce-shell h1{line-height:1.2}
.commerce-shell h2{margin:0 0 18px;line-height:1.3}
.commerce-shell p{line-height:1.75;margin:0 0 22px}
.commerce-shell .button-group{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px}
.commerce-header{gap:28px;align-items:flex-start;margin-bottom:32px}
.commerce-header h1{margin:10px 0 16px}
.commerce-header p{margin-bottom:0}
.commerce-header .button-group{margin-top:8px}
.account-card{padding:36px;margin-block:16px 32px}
.account-card>h1{margin:18px 0 20px}
.account-card>p{margin-bottom:28px}
.commerce-form{gap:24px;align-items:start;min-width:0;grid-template-columns:minmax(0,1fr)}
.commerce-form>*{min-width:0}
.commerce-form textarea{max-width:100%}
.commerce-form .field{gap:9px;min-width:0}
.commerce-form .field>label{line-height:1.5}
.commerce-form label>input,.commerce-form label>select{margin-top:9px}
.commerce-form .field>label>input,.commerce-form .field>label>select{display:block}
.commerce-form input,.commerce-form select,.commerce-form textarea{padding:13px 14px;min-height:48px}
.commerce-form input[type=checkbox]{min-height:auto;margin-top:5px}
.commerce-form textarea{min-height:120px;resize:vertical;line-height:1.6}
.commerce-form small{line-height:1.6}
.commerce-form .button{justify-self:start;white-space:normal;line-height:1.5}
.commerce-two{gap:24px}
.form-actions{padding-top:8px;display:flex;gap:14px;flex-wrap:wrap}
.profile-heading{margin:28px 0 32px}
.profile-heading h1{margin:8px 0 18px;font-size:2rem}
.profile-email{display:grid;gap:8px;padding-block:4px}
.profile-email span{font-size:.9rem;color:var(--muted)}
.password-settings{margin-top:40px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.password-settings>summary{padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none}
.password-settings>summary::-webkit-details-marker{display:none}
.password-settings summary strong{font-size:1.04rem;display:block}
.password-settings summary small{display:block;line-height:1.6;margin-top:6px;color:var(--muted)}
.password-settings__toggle{font-size:1.4rem;color:var(--selva-gold)}
.password-settings[open] .password-settings__toggle{transform:rotate(45deg)}
.password-settings__content{padding:8px 24px 28px}
.checkout-grid{grid-template-columns:minmax(0,1fr) minmax(360px,430px);gap:32px;align-items:start}
.checkout-summary{padding:32px}
.checkout-summary h2{margin-bottom:24px}
.checkout-summary .checkout-total{padding:22px 0;margin:0 0 24px;border-bottom:1px solid var(--border)}
.checkout-summary>p{font-size:.95rem;margin-bottom:28px}
.checkout-summary .commerce-form{margin-top:28px}
.checkout-summary>.button{margin-bottom:18px}
.checkout-summary .check-label{gap:12px}
.checkout-summary .commerce-form>.button{width:100%}
.cart-empty,.account-empty{padding:40px!important}
.cart-empty p,.account-empty p{max-width:680px;margin-bottom:28px}
.cart-empty .button-group{margin-top:8px}
.account-reservations{gap:18px}
.reservation-tile{padding:24px;gap:24px}
.reservation-grid{gap:28px;margin-block:28px}
.reservation-grid .panel{padding:28px}
.reservation-grid .commerce-form{margin-top:26px}
.reservation-grid .checkout-total{margin-bottom:22px}
.reservation-message{padding:18px 20px;min-width:0}
.reservation-message header{gap:20px;flex-wrap:wrap;margin-bottom:14px}
.reservation-message p{margin:0;line-height:1.75}
.reservation-messages{gap:18px;margin-bottom:18px;padding:6px;max-height:540px}
.reservation-toolbar form{display:flex;align-items:end;gap:16px;flex-wrap:wrap}
.reservation-toolbar label{display:grid;gap:10px}
.reservation-toolbar select{min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);font:inherit}
#admin-page.reservation-admin .panel{padding:28px;margin-block:16px}
#admin-page.reservation-admin .stock-table th,#admin-page.reservation-admin .stock-table td{padding:14px}
#admin-page.reservation-admin .panel>p{line-height:1.75;margin:16px 0 26px}
#admin-page.reservation-admin .panel>h2{margin-bottom:22px}
#admin-page.reservation-admin .commerce-form .field input,#admin-page.reservation-admin .commerce-form .field select{padding:13px 14px}

/* Suggestions stay within the page container, with equal-height product tiles. */
.site-container.commerce-suggestions{margin:32px auto 72px}
.commerce-suggestions>section{margin-top:48px}
.commerce-suggestions>section>h2{font-size:1.55rem;margin-bottom:24px}
.commerce-suggestions .catalogue-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:22px;align-items:stretch}
.commerce-suggestions .catalogue-card{display:flex;flex-direction:column;min-width:0}
.commerce-suggestions .catalogue-card__image{height:280px;flex:none}
.commerce-suggestions .catalogue-card__body{display:flex;flex:1;flex-direction:column;gap:8px;padding:20px}
.commerce-suggestions .catalogue-card__bottom{margin-top:auto;gap:10px;flex-wrap:wrap}
.commerce-suggestions .catalogue-card__code{overflow-wrap:anywhere;margin-bottom:12px}
.commerce-suggestions .catalogue-card .quick-add{margin-top:8px;padding:0 20px 20px}
.commerce-suggestions .shop-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.commerce-suggestions .shop-product-card{min-width:0;display:flex;flex-direction:column}
.commerce-suggestions .shop-product-card__link{display:flex;flex:1;flex-direction:column;min-width:0}
.commerce-suggestions .shop-product-card__body{display:flex;flex:1;flex-direction:column;gap:10px}
.commerce-suggestions .shop-product-card__body h2{font-size:1.15rem;line-height:1.45}
.commerce-suggestions .shop-product-card__bottom{margin-top:auto}
.commerce-suggestions .shop-product-card>.quick-add{padding:0 24px 24px}
.site-message-link{display:inline-flex;align-items:center;gap:7px;position:relative}
.message-count{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;padding-inline:5px;background:#b32943;color:#fff;border-radius:20px;font-size:11px;line-height:1;font-weight:800}
.site-nav .site-logout-link{padding:9px 12px;border:1px solid var(--border);border-radius:7px;font-size:12px}
.site-nav .site-logout-link:hover{border-color:var(--selva-gold)}
.home-hero__content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);align-items:center;gap:clamp(30px,5vw,100px);max-width:2000px}
.home-hero__copy{min-width:0}
.home-hero h1{font-size:clamp(34px,3.4vw,68px)}
.home-hero__illustration{margin:0;min-width:0}
.home-hero__illustration img{display:block;width:100%;height:auto;border-radius:20px;box-shadow:0 24px 70px #0004}
@media(max-width:1500px){.commerce-suggestions .catalogue-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1200px){.commerce-suggestions .catalogue-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.checkout-grid{grid-template-columns:minmax(0,1fr) 360px;gap:24px}.checkout-summary{padding:26px!important}.home-hero__content{gap:32px}}
@media(max-width:900px){.checkout-grid{grid-template-columns:1fr}.checkout-summary{position:static}.home-hero__content{grid-template-columns:1fr}.home-hero__illustration{max-width:650px;margin-top:12px}.commerce-suggestions .shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.commerce-shell{padding-block:30px 48px}.commerce-shell .panel{padding:24px}.account-card{padding:26px 22px}.commerce-two{grid-template-columns:1fr;gap:22px}.commerce-form{gap:22px}.reservation-grid{grid-template-columns:1fr;gap:22px}.reservation-tile{padding:20px;gap:16px}.password-settings>summary{padding:20px}.password-settings__content{padding:4px 20px 24px}.commerce-suggestions .catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.commerce-suggestions .catalogue-card__image{height:230px}.commerce-suggestions .catalogue-card__body{padding:14px}.commerce-suggestions .catalogue-card .quick-add{padding:0 14px 14px}.commerce-suggestions .catalogue-card .button{font-size:.8rem;line-height:1.4}.cart-empty,.account-empty{padding:28px!important}#admin-page.reservation-admin .panel{padding:22px}.home-hero__content{gap:28px}}
@media(max-width:480px){.commerce-suggestions .shop-product-grid{grid-template-columns:1fr}.commerce-suggestions .catalogue-card__image{height:200px}.commerce-suggestions>section>h2{font-size:1.35rem}.site-nav{gap:14px}.site-nav .site-logout-link{padding:8px 10px}.commerce-shell .button-group .button{width:100%;text-align:center}}

/* Accueil : profondeur légère, visuel remplaçable et animation respectant les préférences. */
.home-hero{overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 85% 20%,#243b5d 0,transparent 46%),linear-gradient(125deg,#0b172a,#11253f 70%,#172a45)}
.home-hero .home-hero__content{gap:clamp(2rem,5vw,6rem);padding-block:clamp(3rem,6vw,6rem)}
.home-hero__illustration.hero-scene{position:relative;margin:0;padding:2rem 1rem 3rem;perspective:1100px;overflow:visible;min-width:0}
.hero-scene__halo{position:absolute;inset:4% -5% 0;background:radial-gradient(ellipse,#d9b56b25,transparent 65%);filter:blur(20px);z-index:-1}
.hero-scene__orbit{position:absolute;inset:0 2% 4%;border:1px solid #e5c78935;border-radius:45% 55% 55% 45%;transform:rotate(-16deg);z-index:-1}
.hero-scene__frame{position:relative;overflow:hidden;border:1px solid #f4d99960;border-radius:28px;background:#14243b;box-shadow:0 32px 70px #02081480,0 1px 0 #fff2 inset;transform:rotateX(var(--hero-rx,0deg)) rotateY(var(--hero-ry,0deg)) rotate(-3deg);transition:transform .3s ease;will-change:transform}
.home-hero .hero-scene__frame img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:0;filter:none;box-shadow:none}
.hero-scene__shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 30%,#fff1 46%,transparent 62%);transform:translateX(-100%);animation:hero-shine 12s ease-in-out 1s infinite}
.hero-scene__label{position:absolute;bottom:1.2rem;left:0;display:flex;align-items:center;gap:12px;padding:14px 22px;border:1px solid #e5c78955;border-radius:16px;background:#11213df0;box-shadow:0 16px 35px #02081450;color:#edd39b;letter-spacing:.12em;font-size:.82rem;backdrop-filter:blur(16px)}
.hero-scene__label small{display:block;color:#e5e9f0;font-size:.74rem;letter-spacing:.02em;margin-top:4px}.hero-scene__spark{font-size:1.7rem}
.hero-scene__dot{position:absolute;width:7px;height:7px;background:#e5c789;border-radius:50%;box-shadow:0 0 18px #e5c78980;animation:hero-pulse 5s ease-in-out infinite}.hero-scene__dot--one{top:5%;right:12%}.hero-scene__dot--two{bottom:19%;right:0;animation-delay:-2.5s}
@keyframes hero-shine{0%,65%,100%{transform:translateX(-100%)}85%{transform:translateX(100%)}}@keyframes hero-pulse{50%{opacity:.3;transform:scale(.6)}}
.appearance-editor{display:grid;grid-template-columns:minmax(300px,1fr) minmax(300px,1fr);gap:clamp(2rem,5vw,5rem);align-items:center}.appearance-upload{margin-block:1.5rem}.appearance-preview{margin:0;padding:1rem;border-radius:20px;background:#14243b}.appearance-preview img{display:block;width:100%;height:auto;max-height:480px;object-fit:contain;border-radius:12px}.appearance-preview figcaption{color:#d3dcE8;margin-top:.8rem;text-align:center}
.generic-section{margin-block:2rem;padding:1.25rem;border:1px solid var(--border,#d8dee8);border-radius:14px;background:var(--surface-soft,transparent)}.generic-line{display:grid;grid-template-columns:minmax(180px,2fr) minmax(90px,.6fr) minmax(160px,1fr) minmax(140px,1fr) auto;gap:1rem;align-items:start;padding-block:1rem;border-top:1px solid var(--border,#d8dee8)}.generic-section[data-generic-kind=acquisition] .generic-line{grid-template-columns:minmax(200px,2fr) minmax(100px,.7fr) minmax(180px,1fr) auto}.generic-line>.button{margin-top:1.8rem}.generic-line .link-button{margin-top:.5rem;text-align:left;font-size:.8rem}.generic-quick-actions{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center;margin-top:1rem}.generic-subtotal{margin-left:auto}.generic-note{padding:1rem;border-left:3px solid #d4b572;background:#d4b57212;border-radius:0 10px 10px 0}.profit-badge--quantity{color:var(--text,#20304a);background:#d4b57220;border:1px solid #d4b57260}.generic-filters{margin:0}
@media(max-width:760px){.home-hero__illustration.hero-scene{max-width:560px;width:100%;margin-inline:auto;padding:1rem 1rem 3rem}.hero-scene__label{padding:10px 14px;left:0;font-size:.72rem}.hero-scene__frame{border-radius:20px}.appearance-editor{grid-template-columns:1fr}.generic-line,.generic-section[data-generic-kind=acquisition] .generic-line{grid-template-columns:1fr 1fr}.generic-line>.field:first-of-type{grid-column:1/-1}.generic-line>.button{margin-top:.5rem}.generic-subtotal{flex-basis:100%;margin-left:0}.generic-section{padding:1rem}}
@media(prefers-reduced-motion:reduce){.hero-scene *{animation:none!important;transition:none!important}.hero-scene__frame{transform:none!important;will-change:auto}}
