:root {
    --ink: #171717;
    --muted: #6a635b;
    --line: #e7ded2;
    --paper: #fffaf2;
    --panel: #ffffff;
    --accent: #d6402b;
    --accent-dark: #9f291d;
    --gold: #f0b632;
    --green: #1f7a4a;
    --shadow: 0 18px 50px rgba(34, 26, 17, .10);
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    color: var(--ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: #f6efe5;
}

.construction-notice {
    display: grid;
    gap: 10px;
    padding: 44px 24px;
    background: #191715;
    color: #fffaf2;
    text-align: center;
}

.construction-notice span {
    color: var(--gold);
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.construction-notice h1 {
    margin: 0;
    font-size: 42px;
    line-height: 1.05;
}

.construction-notice p {
    max-width: 680px;
    margin: 0 auto;
    color: #efe3d1;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
}

 (max-width: 720px) {
    .contact-form-row {
        grid-template-columns: 1fr;
    }

    .contact-section {
        padding: 20px;
    }

    .contact-details,
    .contact-form {
        padding: 18px;
    }

    .construction-notice {
        padding: 34px 18px;
    }

    .construction-notice h1 {
        font-size: 32px;
    }

    .construction-notice p {
        font-size: 16px;
    }
}

.site-footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
    padding: 18px 22px;
    border-top: 1px solid var(--line);
    background: #191715;
    color: #fffaf2;
}

.social-links,
.visitor-counter {
    display: flex;
    justify-content: center;
    gap: 10px;
    align-items: center;
}

.social-links a {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 50%;
    color: #fffaf2;
    transition: color .2s, background .2s, transform .2s;
}

.social-links a:hover,
.social-links a:focus-visible {
    color: #171717;
    background: var(--gold);
    transform: translateY(-2px);
}

.social-links svg {
    width: 21px;
    height: 21px;
    fill: currentColor;
}

.social-links .reviews-link {
    width: auto;
    padding: 0 14px;
    gap: 7px;
    border-radius: 999px;
    color: var(--gold);
}

.reviews-link span {
    color: #fffaf2;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}

.reviews-link:hover span,
.reviews-link:focus-visible span {
    color: #171717;
}

.visitor-counter {
    font-size: 15px;
    font-weight: 800;
}



@media (max-width: 520px) {
    .site-footer {
        flex-direction: column;
        gap: 14px;
    }
}

.visitor-counter strong {
    min-width: 42px;
    padding: 5px 10px;
    border-radius: 6px;
    background: var(--gold);
    color: #171717;
    text-align: center;
}

.account-menu {
    position: relative;
}
.maintenance-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f7f0e6;text-align:center}.maintenance-page section{width:min(620px,100%);padding:42px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.maintenance-page img{width:min(300px,80%);height:auto}.maintenance-page h1{font-size:clamp(34px,7vw,62px);margin:10px 0}.maintenance-page p{line-height:1.7}.maintenance-page .secondary-button{display:inline-flex;margin-top:16px}

.account-menu summary {
    cursor: pointer;
    list-style: none;
}

.account-menu summary::-webkit-details-marker {
    display: none;
}

.account-menu summary::after {
    content: " ▾";
    font-size: 10px;
}

.account-menu[open] summary::after {
    content: " ▴";
}

.account-menu nav {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 40;
    display: grid;
    min-width: 230px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
    box-shadow: var(--shadow);
}

.account-menu nav strong {
    padding: 13px 16px;
    border-bottom: 1px solid var(--line);
    color: var(--muted);
    font-size: 12px;
}

.account-menu nav a {
    padding: 12px 16px;
    color: var(--ink);
    font-size: 13px;
    font-weight: 800;
}

.account-menu nav a:hover,
.account-menu nav a:focus-visible {
    background: var(--paper);
    color: var(--accent-dark);
}

.logout-link {
    padding: 8px 11px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    white-space: nowrap;
}

.logout-link:hover,
.logout-link:focus-visible {
    border-color: var(--accent);
    color: var(--accent-dark);
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select {
    font: inherit;
}

.topbar {
    position: sticky;
    top: 0;
    z-index: 20;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 24px;
    align-items: center;
    min-height: 144px;
    padding: 0 34px;
    border-bottom: 1px solid var(--line);
    background: rgba(255, 250, 242, .94);
    backdrop-filter: blur(14px);
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 800;
}

.brand-mark {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    color: #171717;
    background: var(--gold);
    box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .12);
}


.brand-logo {
    display: block;
    width: auto;
    height: 124px;
    max-width: 420px;
    object-fit: contain;
}

.main-nav {
    display: flex;
    justify-content: center;
    gap: 6px;
}

.main-nav a {
    padding: 10px 13px;
    border-radius: 6px;
    color: #50483f;
    font-size: 14px;
    font-weight: 700;
}

.main-nav a:hover,
.main-nav .is-active {
    background: #191715;
    color: #fff;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.text-link {
    color: #463b31;
    font-size: 14px;
    font-weight: 900;
}

.text-link:hover,
.back-link:hover,
.form-footer a:hover,
.table-actions a:hover {
    color: var(--accent);
}

.icon-button,
.cart-button,
.buy-row button,
.primary-button,
.secondary-button,
.table-actions button {
    border: 0;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 800;
}

.credential-type {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    color: #23465a;
    background: #e3f2f7;
    font-size: 12px;
    font-weight: 900;
}

.credential-value,
.credential-password {
    overflow-wrap: anywhere;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.credential-password {
    display: inline-block;
    min-width: 120px;
    margin-right: 8px;
}

.reveal-button {
    min-height: 32px;
    padding: 0 9px;
    color: var(--accent-dark);
    background: #e3f2f7;
}

.password-toggle {
    margin-top: 8px;
    min-height: 34px;
    padding: 0 10px;
    color: var(--accent-dark);
    background: #e3f2f7;
}

.password-field.is-disabled {
    opacity: .6;
}

.credential-no-password {
    color: var(--muted);
    font-size: 13px;
    font-style: italic;
}

.icon-button {
    width: 42px;
    height: 42px;
    background: #ece0d1;
}

.cart-button {
    min-height: 42px;
    padding: 0 14px;
    color: #fff;
    background: var(--accent);
}

.cart-button span {
    display: inline-grid;
    place-items: center;
    min-width: 22px;
    height: 22px;
    margin-left: 6px;
    border-radius: 999px;
    color: var(--accent);
    background: #fff;
}


.cart-panel[hidden],
.cart-backdrop[hidden] {
    display: none;
}

.cart-backdrop {
    position: fixed;
    inset: 0;
    z-index: 40;
    background: rgba(23, 23, 23, .34);
}

.cart-panel {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 50;
    display: grid;
    grid-template-rows: auto 1fr auto auto auto;
    gap: 18px;
    width: min(420px, 100%);
    height: 100vh;
    padding: 22px;
    border-left: 1px solid var(--line);
    background: var(--paper);
    box-shadow: -18px 0 50px rgba(34, 26, 17, .18);
}

.cart-panel-header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
}

.cart-panel-header span {
    display: block;
    color: var(--muted);
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

.cart-panel-header strong {
    display: block;
    margin-top: 4px;
    font-size: 28px;
    line-height: 1;
}

.cart-items {
    overflow-y: auto;
    display: grid;
    align-content: start;
    gap: 12px;
    min-height: 0;
}

.cart-item {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.cart-item img {
    width: 64px;
    height: 64px;
    object-fit: contain;
    border-radius: 6px;
    background: #f3eadf;
}

.cart-item strong,
.cart-item span {
    display: block;
}

.cart-item strong {
    line-height: 1.25;
}

.cart-item span {
    margin-top: 5px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.cart-item b {
    white-space: nowrap;
}

.cart-item-actions {
    display: grid;
    gap: 8px;
    justify-items: end;
}

.cart-item-actions button {
    min-height: 32px;
    padding: 0 10px;
    border: 0;
    border-radius: 6px;
    color: #7a1f16;
    background: #ffe1dc;
    cursor: pointer;
    font-size: 12px;
    font-weight: 900;
}

.cart-item-actions button:hover {
    color: #fff;
    background: #7a1f16;
}

.cart-empty {
    margin: 0;
    padding: 20px;
    border: 1px dashed #cbbca9;
    border-radius: 8px;
    color: var(--muted);
    text-align: center;
    background: rgba(255, 255, 255, .65);
}

.cart-total {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding-top: 16px;
    border-top: 1px solid var(--line);
    font-weight: 900;
}

.cart-total strong {
    font-size: 24px;
}

.cart-checkout {
    width: 100%;
}

.cart-checkout:disabled {
    cursor: not-allowed;
    opacity: .55;
}


.cart-checkout-message {
    margin: 0;
    padding: 12px 14px;
    border-radius: 6px;
    color: #174b2e;
    background: #dff5e8;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.45;
}

main {
    width: min(1440px, 100%);
    margin: 0 auto;
}

.notice {
    margin: 18px 34px 0;
    padding: 13px 16px;
    border: 1px solid #e9c36b;
    border-radius: 6px;
    color: #4a3510;
    background: #fff3ce;
    font-size: 14px;
}

.category-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 430px);
    gap: 32px;
    align-items: stretch;
    padding: 38px 34px 26px;
}

.promotion-banners {
    position: relative;
    padding: 24px 34px 8px;
}

.promotion-banner {
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(150px, 34%);
    align-items: center;
    min-height: 250px;
    border-radius: 10px;
    color: #fff;
    background: linear-gradient(125deg, #171412 0%, #7a2e20 70%, #b6542f 100%);
    box-shadow: var(--shadow);
}

.promotion-banner[hidden] {
    display: none;
}

.promotion-banner.is-entering {
    animation: promotion-slide-in .45s ease both;
}

@keyframes promotion-slide-in {
    from {
        opacity: 0;
        transform: translateX(28px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.promotion-carousel-controls {
    display: flex;
    justify-content: center;
    gap: 14px;
    align-items: center;
    margin-top: 12px;
}

.promotion-carousel-controls > button {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: #292019;
    cursor: pointer;
    font-size: 28px;
    line-height: 1;
}

.promotion-carousel-dots {
    display: flex;
    gap: 8px;
}

.promotion-carousel-dots button {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #c9baaa;
    cursor: pointer;
}

.promotion-carousel-dots button[aria-current="true"] {
    width: 28px;
    border-radius: 999px;
    background: var(--accent);
}

@media (prefers-reduced-motion: reduce) {
    .promotion-banner.is-entering {
        animation: none;
    }
}

.promotion-banner-copy {
    padding: 28px;
}

.promotion-banner-copy > span {
    display: inline-block;
    padding: 6px 10px;
    border-radius: 999px;
    color: #261b0d;
    background: var(--gold);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.promotion-banner h2 {
    margin: 14px 0 8px;
    font-size: clamp(26px, 4vw, 42px);
    line-height: 1;
}

.promotion-banner p {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: #f2e8de;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.promotion-banner img {
    width: 100%;
    height: 220px;
    padding: 18px;
    object-fit: contain;
}

.promotion-banner-prices {
    display: flex;
    gap: 12px;
    align-items: baseline;
    margin-top: 16px;
}

.promotion-banner-prices del {
    color: #d8c9bd;
}

.promotion-banner-prices strong {
    color: var(--gold);
    font-size: 30px;
}

.promotion-banner-link {
    display: inline-block;
    margin-top: 14px;
    border-bottom: 2px solid var(--gold);
    font-weight: 900;
}

.product-price {
    display: grid;
}

.product-price del {
    color: var(--muted);
    font-size: 13px;
}

.product-price.is-promotion strong {
    color: #a12f1e;
}

.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    color: var(--muted);
    font-size: 13px;
}

.eyebrow {
    margin: 28px 0 8px;
    color: var(--accent-dark);
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

h1 {
    max-width: 780px;
    margin: 0;
    font-size: clamp(38px, 6vw, 72px);
    line-height: .98;
    letter-spacing: 0;
}

.intro {
    max-width: 760px;
    margin: 20px 0 0;
    color: #4e463d;
    font-size: 18px;
    line-height: 1.55;
}

.hero-points {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.hero-points span {
    padding: 9px 12px;
    border: 1px solid var(--line);
    border-radius: 6px;
    background: rgba(255, 255, 255, .6);
    font-size: 13px;
    font-weight: 800;
}

.hero-panel {
    display: grid;
    grid-template-columns: 42% 1fr;
    gap: 18px;
    align-items: center;
    min-height: 280px;
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(135deg, #292019, #7a2e20);
    color: #fff;
    box-shadow: var(--shadow);
}

.hero-panel img {
    width: 100%;
    max-height: 230px;
    object-fit: contain;
}

.hero-panel span,
.hero-panel small {
    display: block;
    color: #f7d894;
}

.hero-panel strong {
    display: block;
    margin: 8px 0;
    font-size: 30px;
    line-height: 1.05;
}

.shop-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 24px;
    padding: 0 34px 42px;
}

.company-presentation {
    margin: 0 34px 48px;
    padding: 38px;
    border-radius: 10px;
    background: #191715;
    color: #fffaf2;
    box-shadow: var(--shadow);
}
.company-presentation-intro {
    display: grid;
    grid-template-columns: minmax(280px, .9fr) minmax(320px, 1.1fr);
    gap: 30px 54px;
    align-items: end;
    padding-bottom: 30px;
    border-bottom: 1px solid rgba(255,255,255,.16);
}
.company-presentation .eyebrow { grid-column: 1 / -1; margin: 0 0 -18px; color: #f7d894; }
.company-presentation h2 { margin: 0; font-size: clamp(30px, 4vw, 48px); line-height: 1.08; }
.company-presentation-intro > p:last-child { margin: 0; color: #ded5ca; font-size: 16px; line-height: 1.7; }
.company-expertise { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 30px; background: rgba(255,255,255,.16); }
.company-expertise article { padding: 8px 22px 4px; background: #191715; }
.company-expertise span { color: #f7d894; font-size: 12px; font-weight: 900; }
.company-expertise h3 { margin: 12px 0 8px; font-size: 18px; line-height: 1.25; }
.company-expertise p { margin: 0; color: #c9c0b6; font-size: 14px; line-height: 1.6; }
.epro-reference { width:fit-content; max-width:100%; margin:28px 0 0; border:1px solid var(--line); border-radius:12px; background:#fff; color:#3b3732; box-shadow:0 8px 24px rgba(25,23,21,.08); }
.epro-reference-link { display:flex; align-items:center; gap:16px; padding:14px 18px; border-radius:12px; color:inherit; text-decoration:none; }
.epro-reference-link:hover { box-shadow:0 8px 24px rgba(25,23,21,.14); }
.epro-reference-link:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.epro-reference-logo { display:flex; flex:0 0 56px; border-radius:8px; }
.epro-reference-logo img { display:block; width:56px; height:56px; object-fit:contain; }
.epro-reference-text { display:block; font-size:14px; line-height:1.55; }
.epro-reference-text > span { display:block; }
.epro-reference-text strong { color:var(--accent-dark); font-weight:800; }
.company-presentation .epro-reference { color:#3b3732; }
@media (max-width: 1100px) {
    .company-presentation-intro { grid-template-columns: 1fr; }
    .company-presentation .eyebrow { margin-bottom: -12px; }
    .company-expertise { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .contact-form-row { grid-template-columns: 1fr; }
    .contact-section { padding: 20px; }
    .contact-details, .contact-form { padding: 18px; }

    .company-presentation { margin: 0 18px 34px; padding: 28px 22px; }
    .company-expertise { grid-template-columns: 1fr; }
    .company-expertise article { padding: 18px 4px; }
}
.filters,
.catalog-toolbar,
.product-card,
.seo-content {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--panel);
}

.filters {
    align-self: start;
    position: sticky;
    top: 96px;
    padding: 20px;
}

.filters h2,
.seo-content h2 {
    margin: 0 0 18px;
}

.filters label {
    display: grid;
    gap: 7px;
    margin-bottom: 16px;
    color: #3f3933;
    font-size: 13px;
    font-weight: 900;
}

.filters input,
.filters select,
.catalog-toolbar select {
    width: 100%;
    min-height: 42px;
    padding: 0 11px;
    border: 1px solid #d8cbbc;
    border-radius: 6px;
    background: #fff;
    color: var(--ink);
}

.search-feedback {
    display: block;
    min-height: 18px;
    margin-top: 6px;
    color: var(--green);
    font-size: 12px;
    font-weight: 900;
}

.check-row {
    grid-template-columns: auto 1fr;
    align-items: center;
}

.check-row input {
    width: 18px;
    min-height: 18px;
}

.service-box {
    margin-top: 20px;
    padding: 14px;
    border-radius: 6px;
    color: #342719;
    background: #f7ead6;
}

.service-box p {
    margin: 7px 0 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.45;
}

.catalog-toolbar {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    min-height: 64px;
    margin-bottom: 16px;
    padding: 12px 16px;
    font-weight: 900;
}

.catalog-toolbar label {
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 13px;
}

.catalog-toolbar select {
    width: auto;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.product-card {
    overflow: hidden;
    display: grid;
    min-height: 520px;
}

.product-card[hidden] {
    display: none !important;
}

.product-media {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 235px;
    background: #f3eadf;
}

.product-main-image-button {
    display: grid;
    place-items: center;
    width: 100%;
    min-height: 235px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
}

.product-main-image-button > .product-main-image {
    width: min(76%, 210px);
    height: 205px;
    object-fit: contain;
    transition: transform .2s ease;
}

.product-card:hover .product-main-image-button > .product-main-image {
    transform: translateY(-4px);
}

.gallery-count {
    position: absolute;
    right: 13px;
    top: 13px;
    padding: 5px 9px;
    border-radius: 999px;
    color: #fff;
    background: rgba(25, 23, 20, .68);
    font-size: 11px;
    font-weight: 900;
}

.product-lightbox {
    width: min(920px, calc(100% - 28px));
    height: min(760px, calc(100% - 28px));
    padding: 30px 68px;
    border: 0;
    border-radius: 18px;
    background: #f8f5ef;
    box-shadow: 0 25px 90px rgba(0, 0, 0, .38);
}

.product-lightbox::backdrop {
    background: rgba(15, 13, 11, .78);
    backdrop-filter: blur(5px);
}

.product-lightbox figure {
    display: grid;
    grid-template-rows: 1fr auto;
    place-items: center;
    height: 100%;
    margin: 0;
}

.product-lightbox figure img {
    max-width: 100%;
    max-height: calc(100vh - 150px);
    object-fit: contain;
}

.product-lightbox figcaption {
    padding-top: 12px;
    color: var(--muted);
    font-weight: 800;
}

.lightbox-close,
.lightbox-arrow {
    position: absolute;
    z-index: 2;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: rgba(31, 28, 24, .82);
}

.lightbox-close { top: 14px; right: 14px; width: 42px; height: 42px; font-size: 28px; }
.lightbox-arrow { top: 50%; width: 46px; height: 46px; transform: translateY(-50%); font-size: 34px; }
.lightbox-previous { left: 13px; }
.lightbox-next { right: 13px; }
.product-lightbox.has-one-image .lightbox-arrow { display: none; }

@media (max-width: 600px) {
    .product-lightbox { padding: 55px 48px 24px; }
    .product-thumbnail { width: 44px; height: 44px; }
}

.badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 7px 10px;
    border-radius: 999px;
    color: #1c160f;
    background: var(--gold);
    font-size: 12px;
    font-weight: 900;
}

.badge.is-muted {
    color: #fff;
    background: #6f6a64;
}

.product-info {
    display: grid;
    grid-template-rows: auto auto 1fr auto auto;
    gap: 10px;
    padding: 18px;
}

.brand-name {
    margin: 0;
    color: var(--accent-dark);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.product-card h2 {
    margin: 0;
    font-size: 20px;
    line-height: 1.2;
}

.product-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
}

.meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.meta-row span {
    padding: 6px 8px;
    border-radius: 6px;
    background: #f2ebdf;
    color: #4d443a;
    font-size: 12px;
    font-weight: 800;
}

.buy-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 4px;
}

.buy-row strong {
    font-size: 24px;
}

.buy-row button {
    min-width: 112px;
    min-height: 42px;
    padding: 0 14px;
    color: #fff;
    background: var(--green);
}

.buy-row button:disabled {
    cursor: not-allowed;
    background: #7f766e;
}

.product-title-link,
.product-detail-link {
    color: inherit;
}

.product-detail-link {
    display: inline-block;
    margin-top: 1rem;
    font-weight: 700;
}

.product-page {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    padding: 42px 0 72px;
}

.product-detail {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
    gap: 48px;
    margin-top: 28px;
}

.product-detail-main-image {
    width: 100%;
    max-height: 620px;
    object-fit: contain;
    background: #fff;
    border-radius: 20px;
}

.product-detail-thumbnails {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: 14px;
}

.product-detail-thumbnails img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: contain;
    background: #fff;
    border-radius: 12px;
}

.product-detail-content h1 {
    margin: 8px 0 18px;
}

.product-detail-description {
    line-height: 1.7;
}

.product-detail-offer {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin: 28px 0;
}

.product-detail-offer strong {
    font-size: 2rem;
}

.product-detail-assurances {
    display: grid;
    gap: 10px;
    margin: 0 0 28px;
    padding: 18px;
    border-radius: 14px;
    background: rgba(255, 255, 255, .65);
}

.product-detail-assurances span,
.product-detail-assurances strong {
    display: block;
}

.related-products {
    margin-top: 64px;
}

.related-products-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.related-products-grid a {
    display: grid;
    gap: 8px;
    padding: 18px;
    color: inherit;
    text-decoration: none;
    background: #fff;
    border-radius: 16px;
}

.related-products-grid img {
    width: 100%;
    height: 180px;
    object-fit: contain;
}

@media (max-width: 760px) {
    .product-detail {
        grid-template-columns: 1fr;
    }

    .related-products-grid {
        grid-template-columns: 1fr;
    }
}

.primary-button,
.secondary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 16px;
    text-decoration: none;
}

.primary-button {
    color: #fff;
    background: var(--accent);
}

.secondary-button {
    color: var(--ink);
    background: #ece0d1;
}

.empty-state {
    margin: 18px 0 0;
    padding: 28px;
    border: 1px dashed #cbbca9;
    border-radius: 8px;
    text-align: center;
    background: rgba(255, 255, 255, .55);
}

.seo-content {
    margin: 0 34px 52px;
    padding: 28px;
}

.seo-content p {
    color: var(--muted);
    line-height: 1.65;
}

.seo-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 20px;
}

.seo-grid div {
    padding-top: 16px;
    border-top: 3px solid var(--gold);
}

.seo-grid h3 {
    margin: 0 0 8px;
}

.contact-section {
    margin: 0 34px 52px;
    padding: clamp(22px, 4vw, 44px);
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #f4f4f4;
    color: var(--ink);
}

.contact-section > h2 {
    margin: 0 0 28px;
    font-size: clamp(30px, 4.5vw, 58px);
    line-height: 1;
}

.contact-layout {
    display: grid;
    grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

.contact-details,
.contact-form {
    border-radius: 8px;
    background: #fff;
}

.contact-details {
    padding: 24px;
    box-shadow: 0 10px 30px rgba(28, 22, 17, .07);
}

.contact-details h3,
.contact-form h3 {
    margin: 0 0 18px;
    font-size: clamp(24px, 3vw, 34px);
}

.contact-details p,
.contact-details address {
    margin: 0 0 18px;
    color: var(--ink);
    font-style: normal;
    line-height: 1.55;
}

.contact-company strong {
    font-size: 18px;
}

.contact-detail-link {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 16px 0;
    border-top: 1px solid var(--line);
    color: #087ea4;
    overflow-wrap: anywhere;
}

.contact-detail-link span {
    color: var(--ink);
    font-size: 18px;
}

.contact-form {
    display: grid;
    gap: 15px;
    padding: 24px;
    box-shadow: 0 10px 30px rgba(28, 22, 17, .07);
}

.contact-form[hidden] {
    display: none;
}

.contact-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.contact-form label {
    display: grid;
    gap: 7px;
    color: var(--ink);
    font-size: 14px;
    font-weight: 800;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    width: 100%;
    min-height: 46px;
    padding: 0 13px;
    border: 1px solid #d5d5d5;
    border-radius: 7px;
    background: #fff;
    color: var(--ink);
    font: inherit;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    border-color: var(--gold);
    outline: 3px solid rgba(212, 164, 55, .2);
}

.contact-form textarea {
    min-height: 150px;
    padding-top: 13px;
    resize: vertical;
}

.contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.contact-form button {
    justify-self: start;
}

.contact-honeypot {
    position: absolute;
    left: -9999px;
}

.contact-alert {
    max-width: none;
    margin: 0;
    padding: 10px 12px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 800;
}

.contact-section .contact-alert.is-success {
    color: #174b2e;
    background: #dff5e8;
}

.contact-section .contact-alert.is-error {
    color: #7a1f16;
    background: #ffe1dc;
}

.auth-page,
.admin-page {
    width: min(1120px, calc(100% - 36px));
    margin: 0 auto;
    padding: 34px 0 56px;
}

.auth-page {
    display: grid;
    place-items: start center;
    min-height: 100vh;
}

.auth-card,
.form-panel,
.table-panel,
.dashboard-grid article {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
}

.auth-card {
    width: min(520px, 100%);
    padding: 30px;
}

.auth-card h1,
.admin-header h1 {
    margin: 12px 0 10px;
    font-size: clamp(34px, 5vw, 54px);
    line-height: 1;
}

.auth-card p,
.admin-header p,
.dashboard-grid p {
    color: var(--muted);
    line-height: 1.55;
}

.back-link,
.form-footer a,
.table-actions a {
    color: var(--accent-dark);
    font-weight: 900;
}

.auth-card form,
.form-panel form {
    display: grid;
    gap: 15px;
    margin-top: 22px;
}

.auth-card label,
.form-panel label {
    display: block;
    margin-bottom: 7px;
    color: #3f3933;
    font-size: 13px;
    font-weight: 900;
}

.auth-card input,
.form-panel input,
.form-panel select,
.form-panel textarea {
    width: 100%;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid #d8cbbc;
    border-radius: 6px;
    background: #fff;
}

.form-panel textarea {
    min-height: 130px;
    padding-top: 12px;
    resize: vertical;
}

.auth-card ul,
.form-panel ul {
    margin: 7px 0 0;
    padding-left: 18px;
    color: var(--accent-dark);
}

.form-footer {
    margin: 18px 0 0;
}

.flash {
    margin: 16px 0;
    padding: 12px 14px;
    border-radius: 6px;
    font-weight: 800;
}

.flash.success {
    color: #174b2e;
    background: #dff5e8;
}

.flash.error {
    color: #7a1f16;
    background: #ffe1dc;
}

.admin-header {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: center;
    margin-bottom: 24px;
}

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.dashboard-grid article,
.form-panel,
.table-panel {
    padding: 24px;
}

.dashboard-grid h2 {
    margin: 0 0 10px;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.form-grid-full {
    grid-column: 1 / -1;
}

.product-description-field textarea {
    min-height: 150px;
}

.form-panel .help-text,
.form-panel .form-text {
    display: block;
    margin-top: 6px;
    color: var(--muted);
    font-size: 12px;
}

.table-panel {
    overflow-x: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    padding: 14px 12px;
    border-bottom: 1px solid var(--line);
    text-align: left;
}

th {
    color: #4c4239;
    font-size: 12px;
    text-transform: uppercase;
}

.table-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    align-items: center;
}

.table-actions form {
    margin: 0;
}

.table-actions button {
    min-height: 34px;
    padding: 0 10px;
    color: #fff;
    background: #7a1f16;
}

.product-settings-form {
    display: grid;
    grid-template-columns: 105px auto;
    gap: 8px 10px;
    align-items: center;
    min-width: 230px;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.product-settings-form label {
    margin: 0;
}

.price-input {
    display: flex;
    align-items: center;
    overflow: hidden;
    border: 1px solid #d8cbbc;
    border-radius: 6px;
    background: #fff;
}

.price-input input {
    width: 78px;
    min-height: 36px;
    padding: 0 8px;
    border: 0;
    background: transparent;
}

.price-input span {
    color: var(--muted);
    font-weight: 800;
}

.publication-toggle {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    white-space: nowrap;
    font-size: 12px;
    font-weight: 800;
}

.publication-toggle input {
    width: 17px;
    height: 17px;
    accent-color: var(--green);
}

.product-settings-form button {
    grid-column: 1 / -1;
    justify-self: start;
    min-height: 32px;
    padding: 0 10px;
    border: 0;
    border-radius: 6px;
    color: #fff;
    background: var(--green);
    font-weight: 900;
}

.publication-status {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
}

.publication-status.is-active {
    color: #174b2e;
    background: #dff5e8;
}

.publication-status.is-hidden {
    color: #675d53;
    background: #eee9e3;
}

@media (max-width: 1100px) {
    .topbar {
        grid-template-columns: 1fr auto;
    }

    .main-nav {
        grid-column: 1 / -1;
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 12px;
    }

    .category-hero,
    .shop-layout,
    .contact-layout {
        grid-template-columns: 1fr;
    }

    .contact-mail {
        justify-self: start;
    }

    .filters {
        position: static;
    }

    .product-grid,
    .seo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .topbar,
    .category-hero,
    .promotion-banners,
    .shop-layout {
        padding-left: 18px;
        padding-right: 18px;
    }

    .notice,
    .seo-content,
    .contact-section {
        margin-left: 18px;
        margin-right: 18px;
    }

    .topbar {
        gap: 14px;
    }

    .brand span:last-child {
        display: none;
    }

    .brand-logo {
        height: 92px;
        max-width: 300px;
    }

    .header-actions {
        justify-content: end;
        flex-wrap: wrap;
    }

    .category-hero {
        padding-top: 28px;
    }

    .hero-panel {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .promotion-banner {
        grid-template-columns: 1fr;
    }

    .promotion-banner img {
        height: 170px;
        order: -1;
    }

    .catalog-toolbar,
    .buy-row {
        align-items: stretch;
        flex-direction: column;
    }

    .catalog-toolbar label {
        align-items: stretch;
        flex-direction: column;
    }

    .catalog-toolbar select,
    .buy-row button {
        width: 100%;
    }

    .product-grid,
    .seo-grid,
    .dashboard-grid,
    .form-grid {
        grid-template-columns: 1fr;
    }

    .admin-header {
        align-items: stretch;
        flex-direction: column;
    }

    .table-actions {
        align-items: flex-start;
        flex-direction: column;
    }
}

.checkout-page {
    width: min(920px, calc(100% - 36px));
    padding: 34px 0 56px;
}

.checkout-panel {
    padding: 28px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
}

.checkout-header h1 {
    margin: 0 0 24px;
    font-size: clamp(36px, 6vw, 64px);
    line-height: 1;
}

.checkout-items {
    display: grid;
    gap: 12px;
}

.checkout-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 16px;
    align-items: center;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fffaf2;
}

.checkout-item span {
    color: var(--muted);
    font-weight: 800;
}

.checkout-item b {
    white-space: nowrap;
}

.checkout-total {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
    font-weight: 900;
}

.checkout-total strong {
    font-size: 28px;
}

.checkout-pay-button {
    width: 100%;
    margin-top: 18px;
}

.checkout-note,
.checkout-empty {
    margin: 16px 0 0;
    padding: 14px;
    border-radius: 6px;
    color: #174b2e;
    background: #dff5e8;
    font-weight: 800;
    line-height: 1.45;
}

.checkout-empty {
    display: grid;
    gap: 14px;
    justify-items: start;
    color: #4a3510;
    background: #fff3ce;
}

@media (max-width: 720px) {
    .checkout-item {
        grid-template-columns: 1fr;
    }
}

.order-list {
    display: grid;
    gap: 18px;
}

.order-card {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
}

.order-card-header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid var(--line);
    background: #fffaf2;
}

.order-card-header span,
.order-grid h2 {
    display: block;
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.order-card-header strong {
    display: block;
    margin-top: 5px;
    font-size: 26px;
}

.order-card-header time {
    color: #4c4239;
    font-weight: 800;
}

.order-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    padding: 22px 24px;
}

.order-grid h2 {
    margin: 0 0 10px;
}

.order-grid p {
    margin: 5px 0;
    color: var(--muted);
    line-height: 1.45;
}

.order-session {
    overflow-wrap: anywhere;
    font-size: 12px;
}

.order-card table {
    margin: 0 24px 24px;
    width: calc(100% - 48px);
}

@media (max-width: 720px) {
    .order-card-header,
    .order-grid {
        align-items: stretch;
        grid-template-columns: 1fr;
        flex-direction: column;
    }
}


.order-header-meta {
    display: grid;
    gap: 8px;
    justify-items: end;
}

.status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    color: #174b2e;
    background: #dff5e8;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.status-form {
    display: grid;
    gap: 8px;
}

.status-form label {
    color: #3f3933;
    font-size: 13px;
    font-weight: 900;
}

.status-form-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
}

.status-form select {
    min-height: 40px;
    padding: 0 10px;
    border: 1px solid #d8cbbc;
    border-radius: 6px;
    background: #fff;
}

.status-form button {
    min-height: 40px;
    padding: 0 12px;
    border: 0;
    border-radius: 6px;
    color: #fff;
    background: var(--green);
    cursor: pointer;
    font-weight: 900;
}

.tracking-link {
    display: inline-flex;
    margin-top: 10px;
    color: var(--accent-dark);
    font-weight: 900;
}

.order-grid-secondary {
    padding-top: 0;
}

.checkout-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.tracking-page {
    width: min(1040px, calc(100% - 36px));
    padding: 34px 0 56px;
}

.tracking-header {
    margin-bottom: 22px;
}

.tracking-header h1 {
    font-size: clamp(38px, 6vw, 64px);
}

.tracking-header p:last-child {
    max-width: 720px;
    color: var(--muted);
    font-size: 18px;
    line-height: 1.55;
}

.tracking-panel {
    padding: 28px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
}

.progress-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 26px;
}

.progress-step {
    min-height: 112px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fffaf2;
}

.progress-step span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    margin-bottom: 12px;
    border-radius: 999px;
    color: #66594b;
    background: #ece0d1;
    font-weight: 900;
}

.progress-step strong {
    display: block;
    line-height: 1.25;
}

.progress-step.is-done {
    border-color: #9bd5b5;
    background: #eefaf3;
}

.progress-step.is-done span {
    color: #fff;
    background: var(--green);
}

.tracking-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 22px;
}

.tracking-summary section {
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fffaf2;
}

.tracking-summary h2 {
    margin: 0 0 10px;
    font-size: 18px;
}

.tracking-summary p {
    margin: 6px 0;
    color: var(--muted);
    line-height: 1.45;
}

@media (max-width: 720px) {
    .order-header-meta,
    .status-form-row {
        justify-items: stretch;
        grid-template-columns: 1fr;
    }

    .progress-steps,
    .tracking-summary {
        grid-template-columns: 1fr;
    }
}


.product-image-field {
    display: grid;
    gap: 12px;
}

.product-upload-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

@media (max-width: 600px) {
    .product-upload-grid { grid-template-columns: 1fr; }
}

.product-image-preview {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fffaf2;
}

.product-image-preview img {
    width: 72px;
    height: 72px;
    object-fit: contain;
    border-radius: 6px;
    background: #f3eadf;
}

.product-image-preview span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 900;
}

.product-image-gallery-admin {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
}

.product-image-gallery-admin .product-image-preview {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
    margin: 0;
}

.product-image-gallery-admin .product-image-preview img {
    width: 100%;
    height: 105px;
}

.remove-product-image,
.main-product-image {
    display: flex !important;
    gap: 6px;
    align-items: center;
}

.remove-product-image input,
.main-product-image input {
    width: 16px;
    min-height: 16px;
}

.main-product-image {
    color: var(--green) !important;
}

.product-thumbnails {
    position: absolute;
    right: 12px;
    bottom: 12px;
    left: 12px;
    z-index: 2;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.product-thumbnail {
    width: 52px;
    height: 52px;
    padding: 3px;
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, .8);
    border-radius: 9px;
    background: rgba(255, 255, 255, .85);
    box-shadow: 0 4px 14px rgba(35, 29, 23, .16);
    opacity: .72;
    transition: transform .18s ease, opacity .18s ease, border-color .18s ease;
}

.product-thumbnail:hover,
.product-thumbnail.is-active {
    transform: translateY(-2px);
    border-color: var(--green);
    opacity: 1;
}

.product-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px;
}


.checkout-page .checkout-header h1 {
    font-size: clamp(48px, 7vw, 82px);
}

.checkout-page .eyebrow {
    font-size: 16px;
}

.checkout-item strong {
    font-size: 22px;
    line-height: 1.25;
}

.checkout-item span,
.checkout-item b {
    font-size: 20px;
}

.checkout-total span {
    font-size: 20px;
}

.checkout-total strong {
    font-size: 38px;
}

.checkout-pay-button {
    min-height: 58px;
    font-size: 20px;
}

@media (max-width: 720px) {
    .checkout-item strong {
        font-size: 20px;
    }

    .checkout-item span,
    .checkout-item b,
    .checkout-total span,
    .checkout-pay-button {
        font-size: 18px;
    }

    .checkout-total strong {
        font-size: 32px;
    }
}


.embedded-payment {
    display: grid;
    gap: 18px;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--line);
}

.shipping-panel{display:grid;gap:22px;margin-top:24px;padding:26px;border:1px solid var(--line);border-radius:10px;background:#fff}
.account-address-card{grid-column:1/-1}.account-address-form{display:grid;gap:14px;margin-top:20px}.account-address-form>div{display:grid;gap:6px}.account-address-form label{font-weight:800}.account-address-form input{width:100%;min-height:45px;padding:0 12px;border:1px solid var(--line);border-radius:7px}.account-address-form ul{margin:3px 0;color:#9b241a}.account-address-row{grid-template-columns:.45fr 1fr;gap:14px}.account-address-form>.primary-button{justify-self:start}
.customer-search{display:grid;gap:8px;margin-bottom:18px;padding:20px;border:1px solid var(--line);border-radius:10px;background:#fff}.customer-search label{font-weight:900}.customer-search>div{display:flex;gap:10px;align-items:center}.customer-search input{flex:1;min-width:180px;min-height:44px;padding:0 13px;border:1px solid var(--line);border-radius:7px}.customer-search a{color:var(--accent-dark);font-weight:800}.customer-table td{vertical-align:top}.customer-table td,.customer-table td>strong,.customer-table td>span,.customer-table td>a,.customer-table td>small{line-height:1.5}.customer-table td>strong,.customer-table td>span,.customer-table td>a,.customer-table td>small{display:block}.customer-table td>small{color:var(--muted)}.customer-table td>a{color:var(--accent-dark);font-weight:800}.customer-missing{color:var(--muted);font-style:italic}.customer-role{display:inline-block!important;padding:5px 9px;border-radius:99px;background:#e7f3eb;color:#1f6b43;font-size:12px;font-weight:900}.customer-role--admin{background:#fff0d1;color:#805b08}.customer-empty{padding:25px}.customer-empty h2{margin-top:0}
@media(max-width:600px){.account-address-row{grid-template-columns:1fr}}
@media(max-width:700px){.customer-search>div{align-items:stretch;flex-direction:column}.customer-table thead{display:none}.customer-table,.customer-table tbody,.customer-table tr,.customer-table td{display:block}.customer-table tr{padding:15px 0;border-bottom:1px solid var(--line)}.customer-table td{padding:7px 4px;border:0}.customer-table td:before{display:block;margin-bottom:2px;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.customer-table td:nth-child(1):before{content:'Client'}.customer-table td:nth-child(2):before{content:'Contact'}.customer-table td:nth-child(3):before{content:'Adresse'}.customer-table td:nth-child(4):before{content:'Type de compte'}.customer-table td:nth-child(5):before{content:'Inscription'}}
.shipping-heading{display:flex;justify-content:space-between;gap:24px;align-items:end}.shipping-heading h2{margin:4px 0 0;font-size:30px}.shipping-heading>span{max-width:340px;color:var(--muted);font-size:14px;line-height:1.5}
.shipping-form{display:grid;gap:16px}.shipping-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.shipping-form-row--location{grid-template-columns:.55fr 1fr .65fr}.shipping-form label:not(.shipping-confirm){display:grid;gap:7px;font-weight:800}.shipping-form label small{color:var(--muted);font-weight:500}.shipping-form input:not([type=checkbox]),.shipping-form select{width:100%;min-height:48px;padding:0 13px;border:1px solid #cfc4b7;border-radius:7px;background:#fff;color:var(--ink)}.shipping-form .has-error input,.shipping-form .has-error select{border:2px solid #b52d20;background:#fff7f5;box-shadow:0 0 0 3px rgba(181,45,32,.1)}.shipping-confirm{display:flex;gap:10px;align-items:flex-start;padding:14px;border-radius:7px;background:var(--paper);font-weight:800;line-height:1.45}.shipping-confirm input{width:20px;height:20px;margin-top:1px;accent-color:var(--green)}.shipping-confirm.has-error{outline:2px solid #b52d20;background:#fff0ed}.shipping-error{margin:0;padding:11px 13px;border-radius:7px;background:#ffe1dc;color:#7a1f16;font-weight:800}.shipping-form>.primary-button{justify-self:start}.shipping-summary{display:flex;justify-content:space-between;gap:22px;align-items:center;padding:20px;border-left:5px solid var(--green);border-radius:7px;background:#eefaf3}.shipping-summary p{margin:5px 0 0;color:#465c4f;line-height:1.45}.shipping-summary button{padding:9px 12px;border:1px solid #7ca78d;border-radius:6px;background:#fff;color:#174b2e;cursor:pointer;font-weight:800}
@media(max-width:700px){.shipping-heading{display:grid}.shipping-form-row,.shipping-form-row--location{grid-template-columns:1fr}.shipping-summary{align-items:flex-start;flex-direction:column}}

.embedded-payment h2 {
    margin: 0;
    font-size: 30px;
    line-height: 1.15;
}
.express-payment{display:grid;gap:12px}.express-payment[hidden]{display:none}.express-payment__label{margin:0;color:var(--ink);font-size:15px;font-weight:900}.express-payment__separator{display:flex;align-items:center;gap:14px;color:#6b6259;font-size:12px;font-weight:800;text-transform:uppercase}.express-payment__separator::before,.express-payment__separator::after{content:'';height:1px;flex:1;background:var(--line)}.express-payment__separator span{white-space:nowrap}
.stripe-privacy-note{display:flex;align-items:flex-start;gap:11px;margin:16px 0;padding:14px 16px;border:1px solid #d9e7e2;border-radius:10px;background:#f3faf7;color:#385048}.stripe-privacy-note>span{font-size:20px;line-height:1.4}.stripe-privacy-note p{margin:0;font-size:13px;line-height:1.55}.stripe-privacy-note strong{display:block;margin-bottom:2px;color:#183d33}
.stripe-privacy-note>div{flex:1}.stripe-manage-link{display:inline-flex;align-items:center;gap:6px;margin-top:11px;padding:9px 12px;border:1px solid #bdd8ce;border-radius:8px;background:#fff;color:#176b5b;font-size:13px;font-weight:800}.stripe-manage-link:hover,.stripe-manage-link:focus-visible{border-color:#176b5b;background:#e8f5f0}
.stripe-payment-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0;color:#52645e;font-size:12px}.stripe-payment-tools .stripe-manage-link{margin-top:0}
.saved-payment-list{display:grid;gap:10px;margin-top:18px}.saved-payment-list>div{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff}.saved-payment-list form{margin:0}.saved-card-brand{padding:5px 8px;border-radius:6px;background:#edf4f3;color:#176b5b;font-size:11px;font-weight:900}@media(max-width:600px){.saved-payment-list>div{grid-template-columns:auto 1fr}.saved-payment-list form{grid-column:1/-1}.saved-payment-list button{width:100%}}

.payment-element {
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}


.delivery-panel {
    display: grid;
    gap: 16px;
    margin-top: 24px;
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fffaf2;
}

.delivery-panel h2 {
    margin: 0;
    font-size: 30px;
    line-height: 1.15;
}

.delivery-options {
    display: grid;
    gap: 12px;
}

.delivery-group {
    display: grid;
    gap: 12px;
}

.delivery-group + .delivery-group {
    margin-top: 14px;
}

.delivery-group h3 {
    margin: 0 0 2px;
    color: #087eae;
    font-size: 21px;
}

.delivery-option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 16px;
    border: 1px solid #d8cbbc;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
}

.delivery-option:has(input:checked) {
    border-color: var(--green);
    background: #eefaf3;
}

.delivery-option input {
    width: 22px;
    height: 22px;
    accent-color: var(--green);
}

.delivery-option strong,
.delivery-option b {
    font-size: 22px;
}

.delivery-option small {
    display: block;
    margin-top: 5px;
    color: var(--muted);
    font-size: 16px;
    font-weight: 800;
}

@media (max-width: 720px) {
    .delivery-option {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .delivery-option b {
        grid-column: 2;
    }
}


.relay-selector {
    display: grid;
    gap: 16px;
    padding: 20px;
    border: 1px solid #b9d9c7;
    border-radius: 8px;
    background: #f7fcf9;
}

.relay-location-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: end;
}

.relay-location-fields label {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
    min-width: 0;
}

.relay-location-fields input {
    width: 100%;
    min-height: 48px;
    padding: 0 12px;
    border: 1px solid #9bc7ad;
    border-radius: 6px;
    background: #fff;
    font: inherit;
    font-weight: 700;
}

@media (max-width: 600px) {
    .relay-location-fields { grid-template-columns: 1fr; }
}

.relay-selector label {
    color: #174b2e;
    font-size: 16px;
    font-weight: 900;
}

.relay-selector select {
    width: 100%;
    min-height: 48px;
    padding: 0 12px;
    border: 1px solid #9bc7ad;
    border-radius: 6px;
    background: #fff;
    color: var(--ink);
    font-size: 18px;
    font-weight: 800;
    text-overflow: ellipsis;
}

.relay-selection-summary {
    margin: 0;
    padding: 14px;
    border-left: 4px solid var(--green);
    border-radius: 6px;
    background: #fff;
    line-height: 1.45;
}

.relay-dialog {
    width: min(1140px, calc(100vw - 32px));
    max-width: none;
    height: min(720px, calc(100vh - 32px));
    max-height: none;
    padding: 0;
    border: 0;
    border-radius: 10px;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .32);
    overflow: hidden;
}

.relay-dialog::backdrop { background: rgba(12, 18, 16, .62); }

.relay-dialog-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 68px;
    padding: 14px 20px;
    border-bottom: 1px solid #ddd;
}

.relay-dialog-header h2 { margin: 0; font-size: 24px; }
.relay-dialog-close { border: 0; background: none; font-size: 34px; font-weight: 300; cursor: pointer; }

.relay-dialog-body {
    display: grid;
    grid-template-columns: 375px minmax(0, 1fr);
    height: calc(100% - 68px);
}

.relay-dialog-sidebar {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-height: 0;
    padding: 18px 16px;
    border-right: 1px solid #ddd;
}

.relay-dialog-fields { display: grid; grid-template-columns: 110px 1fr; gap: 10px; }
.relay-dialog-fields label { display: grid; gap: 6px; font-weight: 800; }
.relay-dialog-fields input { width: 100%; min-height: 44px; padding: 0 11px; border: 1px solid #ccd4d0; border-radius: 8px; font: inherit; }
.relay-dialog-sidebar > .primary-button { min-height: 48px; border-radius: 26px; }

.relay-results { display: grid; gap: 10px; min-height: 0; padding-right: 4px; overflow-y: auto; }
.relay-result {
    display: grid;
    gap: 3px;
    width: 100%;
    padding: 12px;
    border: 2px solid #e1e5e3;
    border-radius: 9px;
    background: #fff;
    color: var(--ink);
    text-align: left;
    cursor: pointer;
}
.relay-result:hover, .relay-result.is-active { border-color: #f5a400; box-shadow: 0 2px 9px rgba(0, 0, 0, .08); }
.relay-result strong { font-size: 16px; text-transform: uppercase; }
.relay-result span { line-height: 1.3; }
.relay-result small { margin-top: 4px; }
.relay-results-message { padding: 18px 8px; color: var(--muted); }

.relay-map-panel { display: grid; grid-template-rows: minmax(300px, 1fr) auto; min-width: 0; min-height: 0; }
.relay-map { width: 100%; min-height: 390px; background: #e7eee9; z-index: 0; }
.relay-preview { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 108px; padding: 16px 20px; }
.relay-preview div { display: grid; gap: 3px; }
.relay-preview strong { font-size: 19px; text-transform: uppercase; }
.relay-preview span { line-height: 1.35; }
.relay-preview .primary-button { flex: 0 0 auto; border-radius: 28px; }

@media (max-width: 800px) {
    .relay-dialog { width: 100vw; height: 100dvh; border-radius: 0; }
    .relay-dialog-body { display: block; overflow-y: auto; }
    .relay-dialog-sidebar { max-height: 55vh; border-right: 0; }
    .relay-map-panel { min-height: 520px; }
    .relay-map { min-height: 330px; }
    .relay-preview { align-items: stretch; flex-direction: column; }
}

.secret-input {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.secret-input input { min-width: 0; }

.secret-input button {
    min-height: 45px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #fff;
    color: var(--ink);
    cursor: pointer;
    font-weight: 800;
}


.relay-location-grid {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 12px;
}

.relay-location-grid label {
    display: grid;
    gap: 8px;
}

.relay-location-grid input {
    width: 100%;
    min-height: 48px;
    padding: 0 12px;
    border: 1px solid #9bc7ad;
    border-radius: 6px;
    background: #fff;
    color: var(--ink);
    font-size: 18px;
    font-weight: 800;
}

.relay-help {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.45;
}

@media (max-width: 720px) {
    .relay-location-grid {
        grid-template-columns: 1fr;
    }
}

.website-page {
    width: min(1440px, 100%);
    margin: 0 auto;
    padding-bottom: 56px;
}

.website-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
    gap: 30px;
    align-items: stretch;
    padding: 42px 34px 26px;
}

.website-hero-panel {
    display: grid;
    gap: 18px;
    align-content: center;
    padding: 26px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #191715;
    color: #fffaf2;
    box-shadow: var(--shadow);
}

.website-hero-panel strong {
    font-size: 26px;
    line-height: 1.15;
}

.website-hero-panel .primary-button,
.website-cta .primary-button {
    justify-self: start;
}

.website-services {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    padding: 0 34px 28px;
}

.website-services article,
.website-process,
.website-cta {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--panel);
}

/* Démonstrations de création web */
.website-demos{margin:0 34px 28px;padding:42px;border-radius:14px;background:#191715;color:#fffaf2;scroll-margin-top:20px}
.website-demos-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:36px;align-items:end;margin-bottom:30px}
.website-demos-heading h2{max-width:720px;margin:7px 0 0;font-size:clamp(30px,4vw,48px);line-height:1.04;letter-spacing:-.035em}
.website-demos-heading>p{margin:0;color:#d8ccbd;line-height:1.65}
.website-demo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.website-demo-card{min-width:0;overflow:hidden;border-radius:12px;background:#fff;color:var(--ink)}
.demo-browser{padding:14px 14px 0;background:#ddd4c8}
.demo-browser-bar{display:flex;gap:6px;align-items:center;height:28px;padding:0 9px;border-radius:7px 7px 0 0;background:#f7f4ef}
.demo-browser-bar i{width:7px;height:7px;border-radius:50%;background:#c7beb3}.demo-browser-bar i:first-child{background:#dc7566}.demo-browser-bar i:nth-child(2){background:#d9b557}.demo-browser-bar i:nth-child(3){background:#76ad7e}
.demo-browser-bar span{margin:auto;color:#8c8277;font-size:9px}
.demo-artisan-preview,.demo-shop-preview{min-height:270px;padding:18px 22px;background:#eee6da}
.demo-artisan-preview nav,.demo-shop-preview nav{display:flex;justify-content:space-between;gap:18px;font-size:8px}.demo-artisan-preview nav b{font-family:Georgia,serif;font-size:12px}.demo-artisan-preview nav b::first-letter{color:#b2472e}
.demo-artisan-preview>div{display:grid;align-content:center;min-height:210px;background:radial-gradient(circle at 76% 52%,#bd8b5b 0 13%,transparent 13.5%),linear-gradient(110deg,transparent 55%,rgba(107,64,34,.13) 55%),#eee6da}
.demo-artisan-preview small,.demo-shop-preview small{font-size:7px;font-weight:900;letter-spacing:.15em}.demo-artisan-preview strong,.demo-shop-preview strong{margin:8px 0 14px;font-family:Georgia,serif;font-size:29px;line-height:.95;letter-spacing:-.04em}.demo-artisan-preview em,.demo-shop-preview em{justify-self:start;padding:8px 12px;background:#a13d29;color:#fff;font-size:8px;font-style:normal;font-weight:800}
.demo-shop-preview{background:#dfe7dc}.demo-shop-preview nav b{font-family:Georgia,serif;font-size:11px;letter-spacing:.08em}.demo-shop-preview>div{display:grid;align-content:center;min-height:210px;background:radial-gradient(ellipse at 80% 54%,#b9a071 0 10%,transparent 10.5%),radial-gradient(ellipse at 80% 71%,rgba(33,49,35,.18) 0 17%,transparent 17.5%)}.demo-shop-preview strong{color:#263a2d}.demo-shop-preview em{background:#263a2d}
.demo-hair-preview{min-height:270px;padding:18px 22px;background:#d9ff43;color:#121212}.demo-hair-preview nav{display:flex;justify-content:space-between;gap:18px;font-size:8px}.demo-hair-preview nav b{font-size:15px;letter-spacing:-.08em}.demo-hair-preview nav b span{color:#ef4dff}.demo-hair-preview>div{display:grid;align-content:center;min-height:210px;background:radial-gradient(circle at 80% 48%,#ef4dff 0 18%,transparent 18.5%),radial-gradient(ellipse at 80% 72%,#121212 0 10%,transparent 10.5%)}.demo-hair-preview small{font-size:7px;font-weight:900;letter-spacing:.15em}.demo-hair-preview strong{margin:8px 0 14px;font-size:31px;line-height:.9;letter-spacing:-.065em;text-transform:uppercase}.demo-hair-preview em{justify-self:start;padding:8px 12px;background:#121212;color:#fff;font-size:8px;font-style:normal;font-weight:800}
.website-demo-copy{padding:27px}.website-demo-copy>span{color:var(--accent-dark);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.website-demo-copy h3{margin:9px 0 10px;font-size:25px;line-height:1.08}.website-demo-copy p{margin:0 0 22px;color:var(--muted);line-height:1.55}.demo-open-button{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:13px 16px;border-radius:6px;background:#191715;color:#fff;font-weight:900}.demo-open-button span{font-size:19px}.website-demo-note{margin:20px 0 0;color:#bfb3a5;font-size:12px;line-height:1.5}

/* Pages de démonstration pleine largeur */
.demo-page{margin:0;background:#f5f0e8;color:#1c1b18}.demo-info-bar{position:relative;z-index:10;display:flex;justify-content:center;gap:18px;align-items:center;min-height:42px;padding:8px 22px;background:#171717;color:#fff;font:13px/1.3 Inter,system-ui,sans-serif}.demo-info-bar strong{color:#f0b632;text-transform:uppercase;letter-spacing:.08em}.demo-info-bar a{position:absolute;right:22px;text-decoration:underline;text-underline-offset:3px}
.artisan-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center;padding:24px 5vw;border-bottom:1px solid #cfc3b4}.artisan-logo{font:700 22px Georgia,serif;letter-spacing:.06em}.artisan-logo span{color:#a13d29}.artisan-nav nav{display:flex;gap:30px;font-size:13px;font-weight:700}.artisan-nav-cta{justify-self:end;padding:11px 16px;border:1px solid #25211d;font-size:12px;font-weight:800}.artisan-hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:650px}.artisan-hero-copy{display:grid;align-content:center;padding:8vw}.artisan-hero-copy>p,.artisan-projects header p:first-child,.artisan-about>span,.artisan-contact>p{color:#a13d29;font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.artisan-hero h1{margin:18px 0 24px;font:400 clamp(54px,7vw,104px)/.86 Georgia,serif;letter-spacing:-.06em}.artisan-hero h1 em{color:#a13d29;font-weight:400}.artisan-hero-copy>span{max-width:520px;color:#665f57;font-size:18px;line-height:1.6}.artisan-hero-copy>a{justify-self:start;margin-top:32px;padding-bottom:8px;border-bottom:1px solid;font-weight:800}.artisan-hero-copy>a b{margin-left:18px}.artisan-hero-visual{position:relative;min-height:560px;overflow:hidden;background:#8b6545}.wood-panel{position:absolute;background:linear-gradient(105deg,rgba(255,255,255,.08),transparent 40%),repeating-linear-gradient(88deg,#a77c55 0 6px,#9b704b 7px 10px,#b18560 11px 20px)}.wood-panel--one{inset:8% 15% 15% 8%;transform:rotate(-4deg)}.wood-panel--two{right:-5%;bottom:-4%;width:50%;height:55%;background:repeating-linear-gradient(92deg,#5c3924 0 7px,#69432b 8px 18px);transform:rotate(8deg)}.artisan-hero-visual>span{position:absolute;right:7%;bottom:7%;padding:12px 15px;background:#eee6da;font:italic 18px Georgia,serif}.artisan-trust{display:grid;grid-template-columns:repeat(4,1fr);padding:23px 5vw;border-block:1px solid #cfc3b4}.artisan-trust span{text-align:center;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.artisan-projects{padding:110px 6vw}.artisan-projects>header{display:grid;grid-template-columns:1fr .6fr;gap:50px;align-items:end;margin-bottom:50px}.artisan-projects h2,.artisan-about h2,.artisan-contact h2{margin:10px 0;font:400 clamp(42px,5vw,72px)/.95 Georgia,serif;letter-spacing:-.045em}.artisan-projects header>p{color:#665f57;line-height:1.7}.artisan-project-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:20px}.artisan-project-image{height:400px;margin-bottom:17px;background:#8b6545}.project-kitchen{background:linear-gradient(135deg,transparent 50%,rgba(0,0,0,.18)),repeating-linear-gradient(90deg,#c7a57c 0 17%,#b68f65 17.5% 34%)}.project-library{background:repeating-linear-gradient(0deg,#68452f 0 8%,#3a281f 8.5% 10%,#9e7657 10.5% 18%)}.project-table{background:radial-gradient(ellipse at center,#a77b53 0 30%,transparent 31%),linear-gradient(#d8c8b4,#b5a18b)}.artisan-project-grid span{color:#8b8177;font-size:11px;text-transform:uppercase}.artisan-project-grid h3{margin:7px 0;font:400 22px Georgia,serif}.artisan-about{display:grid;grid-template-columns:.5fr 1fr;gap:60px;padding:100px 10vw;background:#2a2923;color:#f5f0e8}.artisan-about p{max-width:650px;color:#c9c1b6;font-size:18px;line-height:1.7}.artisan-about a{display:inline-block;margin-top:20px;color:#e0a47e;font-weight:800}.artisan-contact{padding:120px 7vw;text-align:center}.artisan-contact a{display:block;margin:35px auto 18px;font:400 clamp(25px,4vw,52px) Georgia,serif;text-decoration:underline;text-underline-offset:8px}.artisan-contact small{color:#7a7168}.artisan-footer,.shop-demo-footer{display:flex;justify-content:space-between;padding:28px 5vw;background:#171717;color:#fff;font-size:12px}
.demo-page--shop{background:#f7f5ee;color:#203127}.shop-announcement{padding:8px;background:#304b38;color:#fff;text-align:center;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.demo-shop-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:25px;align-items:center;padding:23px 4vw}.demo-shop-nav button{display:none}.demo-shop-logo{font:700 22px Georgia,serif;letter-spacing:.15em}.demo-shop-nav nav{grid-column:1;grid-row:1;display:flex;gap:25px;font-size:12px}.demo-shop-nav>a:last-child{justify-self:end;font-size:12px}.demo-shop-nav>a:last-child span{display:inline-grid;width:22px;height:22px;place-items:center;margin-left:5px;border-radius:50%;background:#304b38;color:#fff}.shop-demo-hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:#dfe7dc}.shop-demo-copy{display:grid;align-content:center;padding:8vw}.shop-demo-copy>p,.shop-selection header p,.shop-story>div p,.shop-newsletter>p{font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.shop-demo-copy h1{margin:18px 0 24px;font:400 clamp(52px,6.5vw,94px)/.9 Georgia,serif;letter-spacing:-.055em}.shop-demo-copy h1 em{color:#6c7752;font-weight:400}.shop-demo-copy>span{max-width:530px;color:#536459;font-size:17px;line-height:1.7}.shop-demo-copy>a{justify-self:start;margin-top:30px;padding:14px 19px;background:#304b38;color:#fff;font-weight:800}.shop-demo-still{position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 65% 30%,rgba(255,255,255,.65),transparent 24%),#c8d3c1}.shop-vase{position:relative;z-index:2;width:210px;height:320px;border-radius:45% 45% 30% 30%/24% 24% 12% 12%;background:linear-gradient(100deg,#8b806c,#c4b9a3 38%,#9b907b 70%);box-shadow:inset -25px 0 40px rgba(0,0,0,.12)}.shop-vase:before{content:"";position:absolute;left:62px;top:-45px;width:86px;height:70px;border-radius:20px 20px 0 0;background:#a59a85}.shop-shadow{position:absolute;bottom:18%;width:340px;height:65px;border-radius:50%;background:rgba(34,48,37,.15);filter:blur(12px)}.shop-demo-still>span{position:absolute;right:5%;bottom:5%;font:italic 16px Georgia,serif}.shop-values{display:grid;grid-template-columns:repeat(3,1fr);padding:22px 5vw;border-bottom:1px solid #cdd5c9}.shop-values span{text-align:center;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.shop-selection{padding:100px 5vw}.shop-selection>header{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:40px}.shop-selection h2,.shop-story h2,.shop-newsletter h2{margin:8px 0;font:400 clamp(38px,5vw,64px)/.96 Georgia,serif;letter-spacing:-.04em}.shop-selection header>a{padding-bottom:4px;border-bottom:1px solid;font-size:13px;font-weight:800}.shop-products{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.shop-product-image{position:relative;height:360px;background:#e4e0d6;overflow:hidden}.shop-product-image i{position:absolute;left:50%;top:50%;display:block;transform:translate(-50%,-50%)}.product-vase i{width:120px;height:190px;border-radius:45% 45% 28% 28%;background:#9c8069}.product-lamp i{width:150px;height:120px;border-radius:50% 50% 10% 10%;background:#d8bd76;box-shadow:0 90px 0 -70px #5e5b50}.product-linen i{width:180px;height:220px;background:repeating-linear-gradient(90deg,#aa695a 0 5px,#bd7867 6px 12px);transform:translate(-50%,-50%) rotate(5deg)}.product-cup i{width:135px;height:110px;border-radius:5px 5px 40px 40px;background:#b9ad98}.product-cup i:after{content:"";position:absolute;right:-38px;top:20px;width:45px;height:50px;border:10px solid #b9ad98;border-left:0;border-radius:0 40px 40px 0}.shop-products article>p{margin:14px 0 4px;color:#798177;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.shop-products h3{display:inline;margin:0;font:400 19px Georgia,serif}.shop-products strong{float:right;font-size:13px}.shop-story{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:100px 9vw;background:#304b38;color:#fff}.shop-story>p{align-self:end;margin:0;color:#d2ddd2;font:400 20px/1.7 Georgia,serif}.shop-newsletter{padding:110px 5vw;text-align:center}.shop-newsletter form{display:flex;max-width:560px;margin:35px auto 12px;border-bottom:1px solid}.shop-newsletter input{flex:1;padding:15px 0;border:0;background:transparent;font:16px Georgia,serif}.shop-newsletter button{border:0;background:transparent;color:#304b38;font-weight:900}.shop-newsletter small{color:#7a817b}.shop-demo-footer{background:#304b38}

/* Démonstration salon de coiffure NOVA */
.hair-demo{--hair-black:#111;--hair-lime:#d9ff43;--hair-pink:#ee4fff;background:#f5f3ed;color:var(--hair-black);font-family:Inter,Arial,sans-serif}.hair-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:28px;align-items:center;padding:24px 4vw;background:#f5f3ed}.hair-logo{font-size:28px;font-weight:950;letter-spacing:-.1em}.hair-logo span,.hair-contact strong span{color:var(--hair-pink)}.hair-nav nav{display:flex;gap:30px;font-size:12px;font-weight:800}.hair-book{justify-self:end;padding:12px 18px;background:var(--hair-black);color:#fff;font-size:12px;font-weight:900;text-transform:uppercase}.hair-book span{margin-left:16px}.hair-hero{position:relative;display:grid;grid-template-columns:1.05fr .95fr;min-height:720px;overflow:hidden;background:var(--hair-lime)}.hair-hero-copy{position:relative;z-index:2;display:grid;align-content:center;padding:7vw}.hair-hero-copy>p,.hair-intro>p,.hair-services header>p,.hair-lookbook-copy>p,.hair-booking>div>p{font-size:10px;font-weight:950;letter-spacing:.18em;text-transform:uppercase}.hair-hero h1{margin:18px 0 24px;font-size:clamp(62px,8.5vw,132px);font-weight:950;line-height:.78;letter-spacing:-.09em;text-transform:uppercase}.hair-hero h1 em{color:var(--hair-pink);font-style:normal}.hair-hero-copy>span{max-width:540px;font-size:18px;font-weight:600;line-height:1.55}.hair-hero-copy>div{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hair-hero-copy>div a{padding:14px 18px;border:1px solid var(--hair-black);font-size:12px;font-weight:900;text-transform:uppercase}.hair-hero-copy>div a:first-child{background:var(--hair-black);color:#fff}.hair-hero-art{position:relative;display:grid;place-items:center;overflow:hidden;background:var(--hair-pink)}.hair-portrait{position:relative;width:min(78%,480px);aspect-ratio:.74;background:#151515;clip-path:polygon(10% 0,100% 7%,91% 100%,0 91%)}.hair-portrait i{position:absolute;left:25%;top:25%;width:50%;height:58%;border-radius:48% 48% 44% 44%;background:linear-gradient(110deg,#9b6247,#e1a985 45%,#8d5038)}.hair-portrait i:before{content:"";position:absolute;inset:-20% -18% 42%;border-radius:50% 50% 28% 28%;background:repeating-linear-gradient(105deg,#16100d 0 10px,#34241e 11px 18px);transform:rotate(-6deg)}.hair-portrait b{position:absolute;left:19%;bottom:0;width:62%;height:30%;border-radius:50% 50% 0 0;background:#d9ff43}.hair-hero-art>span{position:absolute;left:5%;bottom:5%;font-size:11px;font-weight:900}.hair-hero-art>p{position:absolute;right:5%;top:5%;margin:0;text-align:right;font-size:11px;text-transform:uppercase}.hair-side-word{position:absolute;left:-15px;bottom:-29px;z-index:3;color:transparent;font-size:clamp(100px,19vw,300px);font-weight:950;line-height:.7;letter-spacing:-.1em;-webkit-text-stroke:2px rgba(17,17,17,.18);pointer-events:none}.hair-marquee{overflow:hidden;padding:18px 0;background:var(--hair-black);color:#fff;white-space:nowrap}.hair-marquee div{font-size:14px;font-weight:900;letter-spacing:.12em}.hair-intro{display:grid;grid-template-columns:.35fr 1fr .3fr;gap:50px;padding:120px 7vw}.hair-intro h2,.hair-services h2,.hair-lookbook h2,.hair-booking h2{margin:4px 0 25px;font-size:clamp(48px,6vw,90px);font-weight:950;line-height:.86;letter-spacing:-.075em;text-transform:uppercase}.hair-intro>div>p{max-width:650px;color:#625f59;font-size:18px;line-height:1.7}.hair-intro a{display:inline-block;margin-top:18px;padding-bottom:6px;border-bottom:2px solid;font-weight:900}.hair-intro>span{justify-self:end;padding:25px;border:1px solid;border-radius:50%;text-align:center;font-size:10px;text-transform:uppercase}.hair-intro>span strong{display:block;font-size:29px}.hair-services{padding:110px 7vw;background:var(--hair-black);color:#fff}.hair-services>header{display:grid;grid-template-columns:.35fr 1fr;gap:50px}.hair-service-list{margin-top:55px;border-top:1px solid #454545}.hair-service-list article{display:grid;grid-template-columns:50px minmax(180px,.8fr) minmax(200px,1fr) 160px 40px;gap:20px;align-items:center;padding:27px 0;border-bottom:1px solid #454545}.hair-service-list article>span{color:var(--hair-lime);font-size:11px}.hair-service-list h3{margin:0;font-size:25px}.hair-service-list p{margin:0;color:#aaa}.hair-service-list strong{color:var(--hair-lime);font-size:13px}.hair-service-list a{font-size:23px}.hair-lookbook{display:grid;grid-template-columns:1fr .8fr 1fr;min-height:680px;background:#e8e3d9}.hair-look{position:relative;min-height:620px;overflow:hidden}.hair-look i{position:absolute;inset:8%;background:#181818;clip-path:polygon(8% 0,100% 5%,92% 100%,0 93%)}.hair-look i:after{content:"";position:absolute;left:28%;top:20%;width:48%;height:60%;border-radius:48%;background:linear-gradient(125deg,#34251e 0 27%,#c1835e 28% 65%,#211713 66%)}.hair-look--two i{background:var(--hair-pink);transform:rotate(3deg)}.hair-look--two i:after{background:linear-gradient(70deg,#15100e 0 42%,#d29a74 43% 70%,#e5c1a5 71%)}.hair-look>span{position:absolute;left:12%;bottom:9%;z-index:2;padding:8px;background:var(--hair-lime);font-size:10px;font-weight:900}.hair-lookbook-copy{display:grid;align-content:center;padding:50px 25px;text-align:center}.hair-lookbook-copy>span{color:#625f59;line-height:1.7}.hair-booking{display:grid;grid-template-columns:1fr .75fr;gap:8vw;padding:110px 7vw;background:var(--hair-lime)}.hair-booking>div>span{display:block;max-width:540px;font-size:17px;line-height:1.6}.hair-booking form{display:grid;gap:18px;align-content:center;padding:35px;background:#f5f3ed;box-shadow:12px 12px 0 var(--hair-pink)}.hair-booking label{display:grid;gap:8px;font-size:11px;font-weight:900;text-transform:uppercase}.hair-booking select{width:100%;padding:14px;border:0;border-bottom:2px solid;background:transparent;font:16px Inter,sans-serif}.hair-booking button{display:flex;justify-content:space-between;padding:17px;border:0;background:var(--hair-black);color:#fff;font-weight:900;text-transform:uppercase}.hair-booking small{color:#706c65}.hair-contact{display:grid;grid-template-columns:1fr 1fr auto;gap:45px;align-items:end;padding:80px 6vw;background:#f5f3ed}.hair-contact strong{font-size:72px;letter-spacing:-.1em}.hair-contact p{line-height:1.6}.hair-contact>a{padding-bottom:8px;border-bottom:2px solid;font-weight:900}.hair-footer{display:flex;justify-content:space-between;padding:25px 6vw;background:var(--hair-black);color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.08em}

@media(max-width:900px){.website-demos-heading,.website-demo-grid{grid-template-columns:1fr}.demo-info-bar{justify-content:flex-start}.demo-info-bar span{display:none}.demo-info-bar a{right:15px}.artisan-nav{grid-template-columns:1fr auto}.artisan-nav nav,.hair-nav nav{display:none}.artisan-hero,.shop-demo-hero,.hair-hero,.hair-booking{grid-template-columns:1fr}.artisan-hero-visual,.shop-demo-still,.hair-hero-art{min-height:470px}.artisan-projects>header,.artisan-about,.shop-story,.hair-intro,.hair-services>header{grid-template-columns:1fr}.artisan-project-grid{grid-template-columns:1fr 1fr}.artisan-project-grid article:first-child{grid-column:1/-1}.shop-products{grid-template-columns:repeat(2,1fr)}.demo-shop-nav nav{display:none}.demo-shop-nav{grid-template-columns:1fr auto 1fr}.demo-shop-nav button{display:block;justify-self:start;border:0;background:transparent}.demo-shop-logo{grid-column:2}.hair-intro>span{justify-self:start}.hair-service-list article{grid-template-columns:35px 1fr auto}.hair-service-list p{grid-column:2}.hair-service-list strong{grid-column:2}.hair-service-list a{grid-column:3;grid-row:1/4}.hair-lookbook{grid-template-columns:1fr 1fr}.hair-lookbook-copy{grid-column:1/-1;grid-row:1}.hair-contact{grid-template-columns:1fr 1fr}.hair-contact>a{justify-self:start}}
@media(max-width:600px){.website-demos{margin:0 16px 24px;padding:24px 16px}.demo-artisan-preview,.demo-shop-preview,.demo-hair-preview{min-height:220px}.website-demo-copy{padding:22px}.demo-info-bar{font-size:10px}.artisan-nav-cta,.hair-book{display:none}.artisan-hero-copy,.shop-demo-copy,.hair-hero-copy{padding:70px 24px}.artisan-hero h1,.shop-demo-copy h1,.hair-hero h1{font-size:52px}.artisan-trust,.shop-values{grid-template-columns:1fr 1fr;gap:16px}.artisan-projects,.artisan-about,.artisan-contact,.shop-selection,.shop-story,.shop-newsletter,.hair-intro,.hair-services,.hair-booking{padding:70px 24px}.artisan-project-grid{grid-template-columns:1fr}.artisan-project-grid article:first-child{grid-column:auto}.artisan-project-image,.shop-product-image{height:300px}.shop-products{grid-template-columns:1fr}.shop-selection>header{display:grid}.artisan-footer,.shop-demo-footer,.hair-footer{display:grid;gap:8px;text-align:center}.hair-lookbook{grid-template-columns:1fr}.hair-lookbook-copy{grid-column:auto}.hair-look{min-height:480px}.hair-contact{grid-template-columns:1fr;padding:65px 24px}.hair-contact strong{font-size:55px}.hair-service-list article{grid-template-columns:28px 1fr auto;gap:12px}.hair-service-list h3{font-size:20px}}

/* Photographies éditoriales des démonstrations web */
.demo-artisan-preview>div{position:relative;isolation:isolate;background:url('/images/demos/atelier-brun-interieur.webp') center/cover no-repeat;color:#fff}
.demo-artisan-preview>div::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(27,19,13,.74),rgba(27,19,13,.12))}
.demo-hair-preview>div{position:relative;isolation:isolate;background:url('/images/demos/nova-portrait.webp') 78% 35%/cover no-repeat;color:#fff}
.demo-hair-preview>div::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(17,17,17,.78),rgba(17,17,17,.05))}
.artisan-hero-visual{background:url('/images/demos/atelier-brun-interieur.webp') center/cover no-repeat}
.artisan-hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(30,19,11,.28));pointer-events:none}
.artisan-hero-visual>span{z-index:2}
.artisan-hero-visual .wood-panel{display:none}
.project-kitchen{background:url('/images/demos/atelier-brun-interieur.webp') center/cover no-repeat}
.project-library{background:url('/images/demos/atelier-brun-savoir-faire.webp') center/cover no-repeat}
.project-table{background:url('/images/demos/atelier-brun-interieur.webp') 18% center/cover no-repeat}
.hair-portrait{background:url('/images/demos/nova-portrait.webp') center 22%/cover no-repeat}
.hair-portrait i,.hair-portrait b{display:none}
.hair-look--one i{background:url('/images/demos/nova-portrait.webp') center 24%/cover no-repeat}
.hair-look--two i{background:url('/images/demos/nova-coupe-cuivree.webp') center 18%/cover no-repeat}
.hair-look i::after{display:none}
.hair-availability{display:grid;gap:14px;padding:18px;border:1px solid #cec9bf;background:#fff}
.hair-availability[hidden]{display:none}
.hair-availability>strong{font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.hair-availability>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.hair-booking .hair-availability button{display:block;padding:11px 8px;border:1px solid var(--hair-black);background:transparent;color:var(--hair-black);font-size:12px;text-align:center}
.hair-booking .hair-availability button:hover,.hair-booking .hair-availability button:focus-visible,.hair-booking .hair-availability button.is-selected{background:var(--hair-pink);color:var(--hair-black);outline:none}
.hair-availability p{margin:0;color:#625f59;font-size:13px;line-height:1.45}

.website-services article {
    padding: 22px;
}

.website-services h2,
.website-process h2,
.website-cta h2 {
    margin: 0 0 10px;
}

.website-services p,
.website-process p,
.website-process span,
.website-cta p {
    color: var(--muted);
    line-height: 1.6;
}

.website-process {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(320px, 1fr);
    gap: 28px;
    margin: 0 34px 28px;
    padding: 28px;
}

.website-process ol {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.website-process li {
    display: grid;
    gap: 5px;
    padding: 16px;
    border-left: 4px solid var(--gold);
    border-radius: 6px;
    background: #fff7ea;
}

.website-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
    margin: 0 34px;
    padding: 28px;
}

@media (max-width: 1100px) {
    .website-hero,
    .website-process,
    .website-cta {
        grid-template-columns: 1fr;
    }

    .website-services {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .website-hero,
    .website-services {
        padding-left: 18px;
        padding-right: 18px;
    }

    .website-services {
        grid-template-columns: 1fr;
    }

    .website-process,
    .website-cta {
        margin-left: 18px;
        margin-right: 18px;
    }
}

/* Fenetre de contact */
body.contact-modal-open {
    overflow: hidden;
}

.contact-section {
    position: fixed;
    z-index: 1000;
    inset: 0;
    display: grid;
    place-items: center;
    margin: 0;
    padding: clamp(16px, 3vw, 38px);
    overflow-y: auto;
    border: 0;
    border-radius: 0;
    background: rgba(17, 14, 12, .72);
    backdrop-filter: blur(10px);
}

.contact-section[hidden] {
    display: none;
}

.contact-section > .eyebrow {
    color: #fff;
}

.contact-dialog {
    position: relative;
    width: min(1080px, 100%);
    max-height: calc(100vh - 32px);
    padding: clamp(24px, 4vw, 42px);
    overflow-y: auto;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 22px;
    background: linear-gradient(145deg, #fafafa, #f0ede8);
    box-shadow: 0 28px 90px rgba(0, 0, 0, .35);
    animation: contact-dialog-in .22s ease-out;
}

.contact-dialog > h2 {
    max-width: calc(100% - 58px);
    margin: 0 0 28px;
    font-size: clamp(30px, 4.5vw, 56px);
    line-height: 1;
}

.contact-close {
    position: absolute;
    z-index: 2;
    top: 18px;
    right: 18px;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    padding: 0;
    border: 1px solid #ded8d0;
    border-radius: 50%;
    background: #fff;
    color: var(--ink);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .1);
    cursor: pointer;
    font-size: 30px;
    line-height: 1;
    transition: transform .18s ease, background .18s ease;
}

.contact-close:hover,
.contact-close:focus-visible {
    color: #fff;
    background: var(--ink);
    transform: rotate(6deg) scale(1.05);
}

@keyframes contact-dialog-in {
    from { opacity: 0; transform: translateY(18px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 720px) {
    .contact-section { padding: 10px; }
    .contact-dialog { max-height: calc(100vh - 20px); padding: 22px 16px; border-radius: 16px; }
    .contact-dialog > h2 { margin-bottom: 22px; padding-right: 38px; font-size: 30px; }
    .contact-close { top: 12px; right: 12px; width: 40px; height: 40px; }
}

/* Tarifs des prestations */
.rates-page {
    width: min(1180px, calc(100% - 36px));
    margin: 0 auto;
    padding: 44px 0 64px;
}

.rates-hero {
    max-width: 820px;
    margin-bottom: 34px;
}

.rates-hero h1 {
    margin: 8px 0 16px;
    font-size: clamp(38px, 6vw, 68px);
    line-height: 1;
}

.rates-hero > p:last-child,
.rates-empty p,
.rates-cta p,
.rate-card p {
    color: var(--muted);
    line-height: 1.6;
}

.rate-categories {
    display: grid;
    gap: 28px;
}

.rate-category {
    padding: 26px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--panel);
    box-shadow: var(--shadow);
}

.rate-category > h2 {
    margin: 0 0 18px;
    font-size: clamp(25px, 4vw, 36px);
}

.rate-list {
    display: grid;
    gap: 10px;
}

.rate-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    padding: 18px 20px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #fff;
}

.rate-card h3,
.rate-card p,
.rates-cta h2,
.rates-cta p {
    margin: 0;
}

.rate-card p {
    margin-top: 6px;
}

.rate-price {
    display: grid;
    min-width: 130px;
    text-align: right;
}

.rate-price strong {
    color: var(--accent-dark);
    font-size: 22px;
}

.rate-price span {
    margin-top: 3px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.rates-empty,
.rates-cta {
    padding: 28px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--panel);
}

.rates-empty .primary-button {
    display: inline-flex;
    margin-top: 10px;
}

.rates-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
    margin-top: 28px;
}

@media (max-width: 720px) {
    .rate-category {
        padding: 18px;
    }

    .rate-card,
    .rates-cta {
        grid-template-columns: 1fr;
    }

    .rate-price {
        text-align: left;
    }
}

/* Aperçu des tarifs sur l’accueil */
.home-rates {
    width: min(1180px, calc(100% - 36px));
    margin: 42px auto;
}

.home-rates-header {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: end;
    margin-bottom: 22px;
}

.home-rates-header h2 {
    margin: 6px 0 10px;
    font-size: clamp(32px, 5vw, 50px);
}

.home-rates-header p,
.home-rate-category p {
    color: var(--muted);
    line-height: 1.55;
}

.home-rate-categories {
    display: grid;
    gap: 20px;
}

.home-rate-category {
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--panel);
    box-shadow: var(--shadow);
}

.home-rate-category > h3 {
    margin: 0 0 16px;
    font-size: 25px;
}

.home-rate-category h4 {
    margin: 0;
    font-size: 18px;
}

.home-rates-footer {
    display: flex;
    justify-content: center;
    margin-top: 22px;
}

@media (max-width: 720px) {
    .home-rates-header {
        display: grid;
        align-items: start;
    }

    .home-rate-category {
        padding: 17px;
    }
}

/* En-tête moderne sur deux lignes */
.topbar {
    grid-template-columns: minmax(180px, 1fr) auto;
    grid-template-rows: auto auto;
    column-gap: 28px;
    row-gap: 0;
    min-height: 0;
    padding: 10px 34px 0;
    background: rgba(255, 250, 242, .96);
    box-shadow: 0 8px 28px rgba(34, 26, 17, .08);
}

.topbar .brand {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
}

.topbar .brand-logo {
    height: 84px;
    max-width: 300px;
}

.topbar .header-actions {
    grid-column: 2;
    grid-row: 1;
    justify-content: flex-end;
}

.topbar .main-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: center;
    gap: 5px;
    min-width: 0;
    padding: 8px 0 10px;
    border-top: 1px solid rgba(90, 76, 61, .12);
    overflow-x: auto;
    scrollbar-width: none;
}

.topbar .main-nav::-webkit-scrollbar {
    display: none;
}

.topbar .main-nav a {
    flex: 0 0 auto;
    padding: 9px 14px;
    border: 1px solid transparent;
    border-radius: 999px;
    transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}

.topbar .main-nav a:hover {
    border-color: rgba(90, 76, 61, .14);
    background: #fff;
    color: var(--accent-dark);
    transform: translateY(-1px);
}

.topbar .main-nav .is-active,
.topbar .main-nav .is-active:hover {
    border-color: #191715;
    background: #191715;
    color: #fff;
}

/* Navigation de l'accueil sur une seule ligne, avec défilement si nécessaire. */
.home-topbar .main-nav {
    flex-wrap: nowrap;
    overflow-x: auto;
}

@media (max-width: 1100px) {
    .topbar {
        grid-template-columns: minmax(130px, 1fr) auto;
    }

    .topbar .main-nav {
        justify-content: flex-start;
        padding-bottom: 10px;
    }
}

@media (max-width: 720px) {
    .topbar {
        grid-template-columns: 1fr auto;
        gap: 0 12px;
        padding: 8px 18px 0;
    }

    .topbar .brand-logo {
        height: 68px;
        max-width: 210px;
    }

    .topbar .header-actions {
        max-width: 58vw;
        gap: 6px;
    }

    .topbar .text-link {
        font-size: 12px;
    }

    .topbar .main-nav a {
        padding: 8px 12px;
        font-size: 13px;
    }

}
.legal-link {
    color: #fffaf2;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.footer-links {
    display: grid;
    grid-template-columns: repeat(4, max-content);
    gap: 14px 20px;
    align-items: center;
    justify-content: start;
}

/* Page publique de retour de colis */
.return-page {
    width: min(1040px, calc(100% - 32px));
    margin: 48px auto 64px;
}

.return-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 250px;
    gap: 36px;
    align-items: end;
    margin-bottom: 24px;
    padding: 42px;
    border-radius: 22px;
    background: #191715;
    color: #fffaf2;
    box-shadow: var(--shadow);
}

.return-hero h1 {
    margin: 8px 0 14px;
    font-size: clamp(38px, 6vw, 68px);
    line-height: 1;
    letter-spacing: -.04em;
}

.return-hero p:last-child {
    max-width: 660px;
    margin: 0;
    color: #efe3d1;
    line-height: 1.65;
}

.return-deadline {
    display: grid;
    gap: 4px;
    padding: 24px;
    border-radius: 16px;
    background: var(--gold);
    color: var(--ink);
}

.return-deadline strong {
    font-size: 48px;
    line-height: 1;
}

.return-deadline span {
    font-weight: 800;
}

.return-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 24px;
}

.return-card,
.return-section {
    border: 1px solid var(--line);
    border-radius: 18px;
    background: var(--panel);
    box-shadow: 0 12px 36px rgba(34, 26, 17, .07);
}

.return-card {
    padding: 26px;
}

.return-card > span {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    background: var(--accent);
    color: #fff;
    font-weight: 900;
}

.return-card h2 {
    margin: 18px 0 8px;
    font-size: 21px;
}

.return-card p,
.return-section p,
.return-section li {
    color: var(--muted);
    line-height: 1.65;
}

.return-section {
    margin-top: 18px;
    padding: 32px;
}

.return-section h2 {
    margin: 0 0 14px;
    font-size: clamp(25px, 4vw, 34px);
}

.return-section ul {
    padding-left: 22px;
}

.return-notice {
    border-left: 5px solid var(--gold);
}

.return-template {
    padding: 20px;
    border-radius: 12px;
    background: var(--paper);
    color: var(--ink);
    line-height: 1.7;
}

.return-form {
    display: grid;
    gap: 18px;
    margin-top: 24px;
}

.return-section .contact-alert.is-success {
    color: #174b2e;
    background: #dff5e8;
}

.return-section .contact-alert.is-error {
    color: #7a1f16;
    background: #ffe1dc;
}

.return-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.return-form label:not(.return-confirmation) {
    display: grid;
    gap: 7px;
    color: var(--ink);
    font-weight: 800;
}

.return-form input:not([type="checkbox"]),
.return-form textarea {
    width: 100%;
    padding: 13px 14px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
    color: var(--ink);
    font: inherit;
}

.return-form input[readonly] {
    background: #f1ece5;
    color: var(--muted);
    cursor: not-allowed;
}

.return-form input:focus,
.return-form textarea:focus {
    border-color: var(--accent);
    outline: 3px solid rgba(214, 64, 43, .13);
}

.return-form .has-error input:not([type="checkbox"]),
.return-form .has-error textarea {
    border: 2px solid #b52d20;
    background: #fff7f5;
    box-shadow: 0 0 0 3px rgba(181, 45, 32, .1);
}

.return-form .field-error {
    display: block;
    color: #9b241a;
    font-size: 13px;
    font-weight: 800;
}

.return-confirmation.has-error {
    padding: 12px;
    border: 2px solid #b52d20;
    border-radius: 10px;
    background: #fff7f5;
}

.return-confirmation .field-error {
    margin-top: 5px;
}

.return-login-required {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    margin-top: 24px;
    padding: 26px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--paper);
}

.return-login-required > span {
    font-size: 30px;
}

.return-login-required h3 {
    margin: 0 0 8px;
    font-size: 22px;
}

.return-login-required p {
    margin: 0;
}

.return-confirmation {
    display: flex;
    gap: 11px;
    align-items: flex-start;
    color: var(--ink);
    font-weight: 700;
    line-height: 1.5;
}

.return-confirmation input {
    width: 19px;
    height: 19px;
    margin-top: 2px;
    accent-color: var(--accent);
}

.return-contact {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-top: 22px;
}

.return-contact .primary-button {
    display: inline-flex;
}

.return-source {
    margin-top: 24px;
    color: var(--muted);
    font-size: 13px;
}

.return-source a {
    color: var(--accent-dark);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.sav-policy-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .8fr);
    gap: 30px;
    align-items: end;
}

.sav-policy-heading > p {
    margin: 0 0 14px;
}

.sav-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 26px;
}

.sav-steps article {
    padding: 20px;
    border-radius: 12px;
    background: var(--paper);
}

.sav-steps article > span {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 50%;
    background: var(--accent-dark);
    color: #fff;
    font-weight: 900;
}

.sav-steps h3 {
    margin: 14px 0 6px;
}

.sav-steps p {
    margin: 0;
    font-size: 14px;
}

.sav-contact-box {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
    margin-top: 18px;
    padding: 22px;
    border-radius: 12px;
    background: #191715;
    color: #fffaf2;
}

.sav-contact-box p {
    margin: 5px 0 0;
    color: #d8ccbd;
}

.sav-contact-box .primary-button {
    white-space: nowrap;
}

.return-success-banner {
    display: flex;
    gap: 14px;
    align-items: center;
    width: min(1040px, calc(100% - 32px));
    margin: 22px auto;
    padding: 18px 22px;
    border: 1px solid #9bd2b3;
    border-radius: 14px;
    background: #dff5e8;
    color: #174b2e;
    box-shadow: 0 10px 30px rgba(23, 75, 46, .1);
}

.return-success-banner > span {
    display: grid;
    flex: 0 0 38px;
    height: 38px;
    place-items: center;
    border-radius: 50%;
    background: #1f7a4a;
    color: #fff;
    font-size: 22px;
    font-weight: 900;
}

.return-success-banner strong {
    display: block;
    margin-bottom: 3px;
    font-size: 18px;
}

.return-success-banner p {
    margin: 0;
    color: inherit;
}

@media (max-width: 760px) {
    .return-page {
        margin-top: 28px;
    }

    .return-hero,
    .return-steps {
        grid-template-columns: 1fr;
    }

    .return-form-row {
        grid-template-columns: 1fr;
    }

    .sav-policy-heading,
    .sav-steps,
    .sav-contact-box {
        grid-template-columns: 1fr;
    }

    .return-hero,
    .return-section {
        padding: 26px 22px;
    }

    .return-deadline {
        max-width: 260px;
    }
}

.legal-page {
    width: min(900px, calc(100% - 32px));
    margin: 48px auto;
    padding: 32px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: var(--panel);
    box-shadow: var(--shadow);
}

.legal-page dl {
    display: grid;
    grid-template-columns: minmax(160px, 220px) 1fr;
    gap: 14px 24px;
}

.legal-page dt {
    font-weight: 800;
}

.legal-page dd {
    margin: 0;
}

.business-information {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 1fr) auto;
    gap: 28px;
    align-items: center;
    margin: 0 auto 34px;
    padding: 30px;
    width: min(1180px, calc(100% - 48px));
    border: 1px solid var(--line);
    border-radius: 18px;
    background: var(--panel);
    box-shadow: var(--shadow);
}

.business-information h2,
.business-information p {
    margin-top: 0;
}

.business-information dl {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 8px 16px;
    margin: 0;
}

.business-information dt {
    font-weight: 800;
}

.business-information dd {
    margin: 0;
}

.business-information a:not(.primary-button),
.footer-business a {
    color: inherit;
}

.footer-business {
    display: grid;
    grid-template-columns: max-content max-content minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.footer-business > strong {
    line-height: 1.4;
}

.footer-business address {
    margin: 0;
    font-style: normal;
    line-height: 1.4;
}

.footer-business-secondary {
    display: grid;
    gap: 7px;
    grid-column: 2 / 4;
}

.footer-contact-links {
    display: grid;
    grid-template-columns: max-content max-content;
    gap: 18px;
}

.footer-facebook {
    display: inline-flex;
    gap: 7px;
    align-items: center;
}

.footer-facebook svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    fill: currentColor;
}

.local-computers-page {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 52px 0 72px;
}

.local-computers-hero {
    max-width: 850px;
    margin-bottom: 40px;
}

.local-computers-hero h1 {
    margin: 10px 0 18px;
    font-size: clamp(40px, 6vw, 72px);
    line-height: 1;
}

.local-computers-hero p,
.local-computers-intro p {
    color: var(--muted);
    line-height: 1.65;
}

.local-computers-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 28px 0 50px;
}

.local-computer-card {
    display: grid;
    gap: 12px;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 14px;
    color: inherit;
    background: #fff;
    box-shadow: var(--shadow);
    text-decoration: none;
}

.local-computer-card img { width: 100%; height: 210px; object-fit: contain; }
.local-computer-card h2, .local-computer-card p { margin: 0; }
.local-computer-card p { color: var(--muted); line-height: 1.45; }
.local-computer-card strong { color: var(--accent-dark); font-size: 22px; }
.local-computers-intro { margin-top: 34px; }

@media (max-width: 850px) {
    .local-computers-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
    .business-information {
        grid-template-columns: 1fr;
        width: min(100% - 32px, 700px);
    }

    .site-footer {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .footer-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer-business {
        justify-self: start;
    }
}

@media (max-width: 520px) {
    .site-footer {
        align-items: start;
        padding: 22px 18px;
    }

    .footer-links,
    .footer-business {
        grid-template-columns: 1fr;
    }

    .footer-business {
        gap: 10px;
    }

    .footer-business-secondary {
        grid-column: 1;
    }

    .footer-contact-links {
        grid-template-columns: 1fr;
        gap: 7px;
    }
}

/* Refonte 2026 de la page Tarifs */
.rates-page{width:min(1220px,calc(100% - 40px));margin:auto;padding:56px 0 72px}
.rates-hero{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:56px;align-items:end;margin-bottom:48px}
.rates-hero h1{max-width:850px;margin:10px 0 20px;font-size:clamp(42px,6.6vw,78px);line-height:.98;letter-spacing:-.045em}
.rates-hero h1 span{color:var(--accent-dark)}
.rates-hero>div>p:last-child,.rates-cta p,.pricing-intro{max-width:720px;margin:0;color:var(--muted);line-height:1.6}
.rates-hero-action{display:grid;gap:8px;padding:22px 24px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:var(--shadow);transition:transform .2s ease,border-color .2s ease}
.rates-hero-action:hover{transform:translateY(-3px);border-color:var(--accent)}
.rates-hero-action>span{color:var(--muted);font-size:14px}
.rates-hero-action strong{display:flex;justify-content:space-between;gap:16px}
.rates-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.pricing-card{display:flex;flex-direction:column;min-width:0;padding:30px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 14px 40px rgba(20,34,52,.07);transition:transform .2s ease,box-shadow .2s ease}
.pricing-card:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(20,34,52,.12)}
.pricing-card--featured{border-top:4px solid var(--accent)}
.pricing-card--accent{background:linear-gradient(145deg,#fff 55%,rgba(230,241,255,.8))}
.pricing-card--wide{grid-column:1/-1}
.pricing-card--dark{color:#fff;background:linear-gradient(135deg,#17263a,#203b5b);border-color:transparent}
.pricing-card header{display:grid;grid-template-columns:46px minmax(0,1fr);gap:16px;align-items:start}
.pricing-number{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--accent-dark);font-size:13px;font-weight:900}
.pricing-kicker{margin:0 0 4px;color:var(--accent-dark);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.pricing-card h2{margin:0;font-size:clamp(23px,3vw,30px);line-height:1.12;letter-spacing:-.02em}
.pricing-price{display:flex;flex-wrap:wrap;gap:7px 10px;align-items:baseline;margin:28px 0 20px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.pricing-price strong{color:var(--accent-dark);font-size:clamp(34px,5vw,48px);line-height:1;letter-spacing:-.035em}
.pricing-price span{color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.pricing-price--quote{display:grid;gap:7px}
.pricing-price--quote strong{font-size:clamp(29px,4vw,39px)}
.pricing-card ul{display:grid;gap:0;margin:0;padding:0;list-style:none}
.pricing-card ul.two-columns{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.pricing-card li{position:relative;padding:10px 0 10px 24px;border-bottom:1px solid #edf0f3;line-height:1.35}
.pricing-card li:last-child{border-bottom:0}
.pricing-card li::before{content:"✓";position:absolute;left:1px;color:var(--accent-dark);font-weight:900}
.pricing-note{margin:auto 0 0;padding:16px 18px;border-radius:10px;background:rgba(41,112,190,.08);color:var(--muted);font-size:14px;line-height:1.5}
.pricing-card ul+.pricing-note{margin-top:22px}
.pricing-intro{margin:0 0 14px}
.pricing-card--dark .pricing-kicker,.pricing-card--dark .pricing-price span,.pricing-card--dark .pricing-intro{color:#b9c8d9}
.pricing-card--dark .pricing-number{border-color:rgba(255,255,255,.28);color:#fff}
.pricing-card--dark .pricing-price{border-color:rgba(255,255,255,.15)}
.pricing-card--dark .pricing-price strong{color:#fff}
.pricing-card--dark li{border-color:rgba(255,255,255,.12)}
.pricing-card--dark li::before{color:#78b8ff}
.rates-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;margin-top:24px;padding:38px 40px;border:0;border-radius:18px;background:var(--panel)}
.rates-cta h2{margin:6px 0 8px;font-size:clamp(28px,4vw,42px);letter-spacing:-.03em}
.rates-cta .primary-button{white-space:nowrap}
.rates-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding:22px 6px 0;color:var(--muted);font-size:13px}
.rates-legal p{margin:0}
@media(max-width:820px){.rates-hero{grid-template-columns:1fr;gap:24px}.rates-hero-action{max-width:360px}.rates-grid{grid-template-columns:1fr}.pricing-card--wide{grid-column:auto}}
@media(max-width:600px){.rates-page{width:min(100% - 24px,1220px);padding:34px 0 48px}.rates-hero{margin-bottom:30px}.rates-hero h1{font-size:clamp(39px,13vw,58px)}.pricing-card{padding:22px 19px;border-radius:14px}.pricing-card header{grid-template-columns:38px minmax(0,1fr);gap:12px}.pricing-number{width:36px;height:36px}.pricing-card ul.two-columns{grid-template-columns:1fr}.pricing-price{margin-top:24px}.rates-cta{grid-template-columns:1fr;padding:28px 22px}.rates-cta .primary-button{justify-content:center}.rates-legal{display:grid}}
.home-rate-category a.rate-card{color:inherit;text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.home-rate-category a.rate-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 10px 24px rgba(20,34,52,.08)}
.pricing-card{scroll-margin-top:24px}

/* Page dépannage informatique à Besançon */
.repair-page{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:54px 0 72px}
.repair-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.55fr);gap:48px;align-items:center;padding:52px;border-radius:26px;background:linear-gradient(135deg,#f4f8fc,#e8f1fa);box-shadow:0 18px 55px rgba(25,48,77,.08)}
.repair-hero h1{max-width:780px;margin:8px 0 18px;font-size:clamp(42px,6vw,72px);line-height:1;letter-spacing:-.05em}
.repair-hero>div>p:not(.eyebrow){max-width:720px;color:var(--muted);font-size:19px;line-height:1.65}
.repair-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.repair-price{padding:30px;border:1px solid rgba(255,255,255,.85);border-radius:20px;background:#fff;box-shadow:0 16px 38px rgba(25,48,77,.1)}
.repair-price span{display:block;color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.repair-price strong{display:block;margin:8px 0 2px;color:var(--accent-dark);font-size:42px;line-height:1}.repair-price p{margin:0;color:var(--muted)}.repair-price hr{margin:23px 0;border:0;border-top:1px solid var(--line)}.repair-price b{display:block;margin-top:7px;font-size:25px}
.repair-services{padding:76px 0}.repair-services>h2{max-width:680px;margin:7px 0 30px;font-size:clamp(32px,4vw,48px);letter-spacing:-.035em}.repair-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.repair-grid article{padding:27px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:var(--shadow)}.repair-grid article>span{color:var(--accent-dark);font-size:12px;font-weight:950;letter-spacing:.12em}.repair-grid h3{margin:18px 0 8px;font-size:21px}.repair-grid p{margin:0;color:var(--muted);line-height:1.6}
.materials-grid h4{margin:20px 0 8px;font-size:14px}.materials-grid ul{margin:0;padding-left:19px;color:var(--muted);line-height:1.65}.materials-grid .material-note{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:13px}.materials-grid .material-note strong{color:var(--text)}
.repair-area{display:flex;justify-content:space-between;gap:40px;align-items:center;padding:38px 42px;border-radius:20px;background:var(--panel)}.repair-area h2{margin:7px 0 9px;font-size:34px}.repair-area p:not(.eyebrow){max-width:760px;margin:0;color:var(--muted);line-height:1.65}.repair-area .contact-detail-link{flex:none}
.three-d-home-feature{margin:0 34px 28px}
.repair-request{display:grid;grid-template-columns:minmax(0,.8fr) minmax(400px,1fr);gap:54px;align-items:start;padding:78px 0 20px;scroll-margin-top:24px}.repair-request h2{margin:8px 0 15px;font-size:clamp(34px,4vw,48px)}.repair-request>div>p:not(.eyebrow){color:var(--muted);font-size:17px;line-height:1.65}.repair-request .contact-form{margin:0}
@media(max-width:850px){.repair-hero,.repair-request{grid-template-columns:1fr}.repair-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.repair-area{display:grid}.repair-request{gap:28px}}
@media(max-width:600px){.repair-page{width:min(100% - 24px,1180px);padding-top:28px}.repair-hero{gap:28px;padding:28px 22px;border-radius:18px}.repair-hero h1{font-size:42px}.repair-grid{grid-template-columns:1fr}.repair-services{padding:52px 0}.repair-area{padding:27px 22px}.three-d-home-feature{margin:0 18px 24px}.repair-request{grid-template-columns:1fr;padding-top:54px}.repair-request .contact-form{min-width:0}}

/* Messagerie d'administration */
.dashboard-message-card{position:relative}
.dashboard-count{position:absolute;top:18px;right:18px;display:grid;min-width:34px;height:34px;padding:0 8px;place-items:center;border-radius:99px;background:var(--accent-dark);color:#fff;font-weight:900}
.inbox-panel{padding:0;overflow:hidden}
.inbox-list{display:grid}
.inbox-row{display:grid;grid-template-columns:12px minmax(150px,.65fr) minmax(260px,1.5fr) 90px 42px;gap:18px;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;transition:background .18s ease}
.inbox-row-link{display:contents}.inbox-delete,.danger-button{border:0;border-radius:6px;background:#a52a20;color:#fff;cursor:pointer;font-weight:800}.inbox-delete{width:38px;height:38px;font-size:24px}.danger-button{padding:11px 16px}
.inbox-row:last-child{border-bottom:0}.inbox-row:hover{background:var(--panel)}.inbox-row.is-unread{background:rgba(41,112,190,.06)}
.inbox-status{width:9px;height:9px;border-radius:50%;background:#c8cdd3}.inbox-row.is-unread .inbox-status{background:var(--accent-dark)}
.inbox-sender,.inbox-subject,.inbox-date{display:grid;gap:4px;min-width:0}
.inbox-row small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.inbox-date{text-align:right}.inbox-empty{padding:32px}.inbox-empty h2{margin-top:0}
.message-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.75fr);gap:24px;align-items:start}
.message-thread{display:grid;gap:16px}.message-bubble{padding:24px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}
.message-bubble--reply{margin-left:42px;background:#eef6ff;border-color:#c9def5}.message-bubble header{display:flex;justify-content:space-between;gap:20px;margin-bottom:20px}
.message-bubble header div{display:grid;gap:4px}.message-bubble header a,.message-bubble footer a{color:var(--accent-dark);font-weight:800}
.message-bubble header span,.message-bubble footer{color:var(--muted);font-size:13px}.message-body{line-height:1.65;overflow-wrap:anywhere}
.message-bubble footer{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.reply-panel{position:sticky;top:20px}.reply-panel h2{margin-top:0}.reply-panel>p{color:var(--muted);line-height:1.5}
@media(max-width:800px){.message-layout{grid-template-columns:1fr}.reply-panel{position:static}.inbox-row{grid-template-columns:10px minmax(0,1fr) 70px}.inbox-subject{grid-column:2/-1}.message-bubble--reply{margin-left:18px}}
@media(max-width:560px){.inbox-row{gap:10px;padding:15px 12px}.inbox-date{font-size:12px}.message-bubble{padding:18px}.message-bubble header{display:grid}}

/* Messagerie moderne */
.inbox-page,.message-page{width:min(1180px,calc(100% - 36px));padding-top:42px}
.inbox-hero,.message-hero{position:relative;display:flex;justify-content:space-between;gap:32px;align-items:flex-end;margin-bottom:26px;padding:34px 38px;overflow:hidden;border:1px solid #dfe7ef;border-radius:24px;background:linear-gradient(135deg,#fff 0%,#f4f8fc 60%,#edf4fb 100%);box-shadow:0 20px 55px rgba(25,48,77,.08)}
.inbox-hero::after,.message-hero::after{content:"";position:absolute;right:-80px;bottom:-110px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(41,112,190,.14),transparent 70%);pointer-events:none}
.inbox-title-row{display:flex;gap:17px;align-items:center;margin-top:24px}.inbox-title-row h1,.message-hero h1{margin:4px 0 0;font-size:clamp(36px,5vw,58px);line-height:1;letter-spacing:-.045em}
.inbox-hero-icon{display:grid;width:58px;height:58px;place-items:center;border-radius:17px;background:#173a63;color:#fff;font-size:26px;box-shadow:0 10px 24px rgba(23,58,99,.2)}
.inbox-lead{max-width:650px;margin:16px 0 0;color:#647387;font-size:16px;line-height:1.6}.inbox-metric{position:relative;z-index:1;display:grid;min-width:126px;padding:20px 24px;border:1px solid rgba(255,255,255,.8);border-radius:18px;background:rgba(255,255,255,.72);box-shadow:0 12px 30px rgba(25,48,77,.08);text-align:center;backdrop-filter:blur(10px)}
.inbox-metric strong{color:#173a63;font-size:38px;line-height:1}.inbox-metric span{margin-top:7px;color:#697789;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.inbox-panel{border:1px solid #e0e7ee;border-radius:22px;background:#fff;box-shadow:0 18px 50px rgba(28,45,66,.08)}
.inbox-toolbar{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:20px 24px;border-bottom:1px solid #e9eef3}.inbox-toolbar>div:first-child{display:grid;gap:4px}.inbox-toolbar>div:first-child span{color:#7a8796;font-size:13px}
.inbox-row{grid-template-columns:48px minmax(160px,.7fr) minmax(260px,1.55fr) 88px 42px;min-height:92px;padding:17px 22px;border-color:#edf1f5;background:#fff;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.inbox-row:hover{z-index:1;transform:translateY(-1px);background:#f8fbff;box-shadow:0 8px 25px rgba(35,60,90,.07)}.inbox-row.is-unread{background:linear-gradient(90deg,rgba(41,112,190,.09),rgba(41,112,190,.025) 52%,#fff)}
.inbox-avatar,.message-avatar{display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#e4edf7,#d5e4f4);color:#173a63;font-weight:950}.inbox-avatar{width:44px;height:44px;font-size:18px}.inbox-row.is-unread .inbox-avatar{background:linear-gradient(135deg,#255b96,#173a63);color:#fff}
.inbox-sender{position:relative}.inbox-sender strong,.inbox-subject strong{font-size:15px}.inbox-sender em{width:max-content;padding:3px 7px;border-radius:99px;background:#dcecff;color:#17528d;font-size:9px;font-style:normal;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.inbox-subject small{line-height:1.45}.inbox-date{color:#405269;font-size:13px;font-weight:800}.inbox-delete{border:1px solid transparent;background:transparent;color:#9b6870;font-size:19px;opacity:.55;transition:.18s}.inbox-row:hover .inbox-delete{opacity:1}.inbox-delete:hover{border-color:#f0c9cf;background:#fff0f2;color:#9a2434}
.danger-button--ghost{border:1px solid #efd1d5;background:#fff7f8;color:#942c3a}.danger-button--ghost:hover{background:#942c3a;color:#fff}
.inbox-empty{padding:70px 30px;text-align:center}.inbox-empty::before{content:"✉";display:grid;width:68px;height:68px;margin:0 auto 18px;place-items:center;border-radius:20px;background:#edf4fb;color:#2b6099;font-size:28px}.inbox-empty p{color:#718094}
.message-hero{align-items:center}.message-hero .eyebrow{margin:26px 0 8px}.message-meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:16px;color:#6e7c8c;font-size:13px}.message-meta span{padding:7px 11px;border-radius:99px;background:#fff}
.message-layout{grid-template-columns:minmax(0,1.65fr) minmax(330px,.75fr);gap:28px}.message-thread{gap:20px}.message-bubble{padding:30px;border-color:#e2e8ef;border-radius:22px;box-shadow:0 16px 42px rgba(28,45,66,.07)}.message-bubble--client{border-top:4px solid #2a659f}.message-bubble--reply{margin-left:52px;border-color:#d5e4f4;background:linear-gradient(135deg,#f4f9ff,#edf5fd)}
.message-author{display:flex!important;grid-template-columns:none!important;gap:13px!important;align-items:center}.message-author>div{display:grid;gap:3px}.message-avatar{width:46px;height:46px}.message-label{padding:7px 10px;border-radius:99px;background:#eef4fa;color:#45617f!important;font-size:11px!important;font-weight:900;text-transform:uppercase}
.message-body{color:#2f3d4d;font-size:16px;line-height:1.75}.message-bubble footer{margin-top:28px;padding-top:18px}
.reply-panel{position:sticky;top:20px;padding:26px;border:1px solid #dce5ee;border-radius:22px;background:linear-gradient(160deg,#fff,#f7faff);box-shadow:0 18px 48px rgba(28,45,66,.1)}.reply-panel-head{display:flex;gap:13px;align-items:center}.reply-panel-head>span{display:grid;width:44px;height:44px;place-items:center;border-radius:13px;background:#173a63;color:#fff;font-size:21px}.reply-panel-head h2{margin:2px 0 0;font-size:27px}.reply-panel-head .eyebrow{margin:0}.reply-panel>p{margin:18px 0;color:#687789;line-height:1.55}
.reply-panel form{display:grid;gap:12px}.reply-panel label{color:#37485c;font-size:13px;font-weight:900}.reply-panel textarea{width:100%;min-height:240px;padding:16px;border:1px solid #cedae6;border-radius:14px;background:#fff;font:inherit;line-height:1.6;resize:vertical;transition:border-color .18s,box-shadow .18s}.reply-panel textarea:focus{outline:0;border-color:#3975b3;box-shadow:0 0 0 4px rgba(57,117,179,.12)}.reply-panel textarea::placeholder{color:#a0acb8}.reply-from{color:#8290a0}.reply-submit{display:flex;justify-content:space-between;align-items:center;margin-top:5px;padding:14px 17px}.reply-submit b{font-size:19px}
@media(max-width:850px){.inbox-hero,.message-hero{padding:28px}.message-layout{grid-template-columns:1fr}.reply-panel{position:static}.inbox-row{grid-template-columns:44px minmax(0,1fr) 74px 38px}.inbox-subject{grid-column:2/4}.inbox-row form{grid-column:4;grid-row:1/3}.message-bubble--reply{margin-left:22px}}
@media(max-width:600px){.inbox-page,.message-page{width:min(100% - 20px,1180px);padding-top:20px}.inbox-hero,.message-hero{display:grid;align-items:start;padding:23px;border-radius:18px}.inbox-title-row{margin-top:18px}.inbox-title-row h1,.message-hero h1{font-size:36px}.inbox-hero-icon{width:48px;height:48px}.inbox-metric{justify-self:start;min-width:100px}.inbox-toolbar{display:grid;padding:17px}.inbox-toolbar .header-actions{justify-content:space-between}.inbox-row{grid-template-columns:40px minmax(0,1fr) 34px;gap:11px;padding:15px}.inbox-avatar{width:38px;height:38px}.inbox-sender{grid-column:2}.inbox-date{grid-column:3;grid-row:1}.inbox-subject{grid-column:2/4}.inbox-row form{grid-column:3;grid-row:2}.inbox-date small{display:none}.message-bubble{padding:21px;border-radius:17px}.message-bubble--reply{margin-left:8px}.message-bubble header{display:grid}.reply-panel{padding:21px;border-radius:18px}}
/* Atelier Brun — premium editorial demo */
.demo-page--artisan{--ab-ink:#20231d;--ab-paper:#f3efe7;--ab-copper:#a85134;--ab-muted:#6e6b62;background:var(--ab-paper);color:var(--ab-ink);font-family:Inter,Arial,sans-serif}.demo-page--artisan a{color:inherit}.demo-page--artisan .artisan-nav{z-index:5;grid-template-columns:1fr auto 1fr;padding:20px clamp(24px,4vw,68px);border-bottom:1px solid #20231d2e;background:var(--ab-paper)}.demo-page--artisan .artisan-logo{display:flex;gap:12px;align-items:center;font-family:Inter,Arial,sans-serif;letter-spacing:0}.artisan-logo i{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--ab-ink);color:var(--ab-paper);font:600 12px Georgia,serif;letter-spacing:.08em}.artisan-logo>span{display:grid}.artisan-logo b{font:500 18px/1 Georgia,serif}.artisan-logo small{margin-top:4px;color:var(--ab-muted);font:600 8px/1 Inter,sans-serif;letter-spacing:.13em;text-transform:uppercase}.demo-page--artisan .artisan-nav nav{gap:34px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.demo-page--artisan .artisan-nav-cta{padding:13px 17px;border:0;background:var(--ab-ink);color:#fff;font-size:10px;letter-spacing:.05em;text-transform:uppercase}.artisan-nav-cta span{margin-left:18px;color:#c8866e}
.demo-page--artisan .artisan-hero{grid-template-columns:minmax(420px,.84fr) minmax(500px,1.16fr);min-height:calc(100vh - 125px);max-height:920px}.demo-page--artisan .artisan-hero-copy{padding:clamp(60px,7vw,120px) clamp(36px,6vw,105px);background:var(--ab-paper)}.artisan-hero-copy>p{display:flex;gap:10px;align-items:center;color:var(--ab-copper);font-size:10px;letter-spacing:.18em}.artisan-hero-copy>p i{width:24px;height:1px;background:currentColor}.demo-page--artisan .artisan-hero h1{margin:28px 0 30px;font:400 clamp(58px,6.4vw,104px)/.88 Georgia,serif;letter-spacing:-.065em}.demo-page--artisan .artisan-hero h1 em{color:var(--ab-copper);font-style:italic}.demo-page--artisan .artisan-hero-copy>span{max-width:570px;color:var(--ab-muted);font:400 clamp(16px,1.3vw,19px)/1.65 Georgia,serif}.artisan-hero-actions{display:flex;gap:25px;align-items:center;margin-top:35px}.artisan-hero-actions a{padding:15px 18px;background:var(--ab-ink);color:#fff;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.artisan-hero-actions a:first-child b{margin-left:25px}.artisan-hero-actions a:last-child{padding-inline:3px;background:none;color:var(--ab-ink);border-bottom:1px solid}.artisan-hero-proof{display:flex;gap:clamp(20px,3vw,48px);margin-top:clamp(45px,7vh,80px);padding-top:22px;border-top:1px solid #20231d2e}.artisan-hero-proof strong{font:400 25px Georgia,serif}.artisan-hero-proof sup{color:var(--ab-copper)}.artisan-hero-proof small{display:block;margin-top:5px;color:var(--ab-muted);font:600 8px Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase}.demo-page--artisan .artisan-hero-visual{min-height:620px;background-position:center;isolation:isolate}.demo-page--artisan .artisan-hero-visual:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 55%,#14110d70)}.artisan-project-tag{left:30px!important;right:auto!important;bottom:30px!important;padding:16px 19px!important;background:#f4f0ed!important;color:var(--ab-ink);font:500 16px/1.3 Georgia,serif!important}.artisan-project-tag small,.artisan-project-tag em{display:block;font:700 8px/1.5 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase}.artisan-project-tag small{margin-bottom:7px;color:var(--ab-copper)}.artisan-project-tag em{margin-top:5px;color:var(--ab-muted);font-style:normal}.artisan-scroll-cue{right:24px!important;bottom:26px!important;padding:0!important;background:none!important;color:#fff!important;font:700 8px Inter,sans-serif!important;letter-spacing:.15em;text-transform:uppercase}.demo-page--artisan .wood-panel{display:none}
.demo-page--artisan .artisan-trust{padding:21px clamp(24px,5vw,80px);border-color:#20231d2e;background:#ded7ca}.demo-page--artisan .artisan-trust span{display:flex;gap:16px;justify-content:center;align-items:center;font-size:9px;letter-spacing:.13em}.artisan-trust b{color:var(--ab-copper);font:italic 14px Georgia,serif}.demo-page--artisan .artisan-projects{padding:clamp(80px,10vw,150px) clamp(24px,6vw,100px)}.demo-page--artisan .artisan-projects>header{grid-template-columns:1fr .55fr;margin-bottom:65px}.demo-page--artisan .artisan-projects h2,.artisan-process h2{font-size:clamp(45px,5.2vw,78px)}.artisan-projects header>div:last-child p{color:var(--ab-muted);font:16px/1.75 Georgia,serif}.artisan-projects header a{display:inline-block;margin-top:15px;padding-bottom:6px;border-bottom:1px solid;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.demo-page--artisan .artisan-project-grid{grid-template-columns:1.25fr .75fr;gap:60px 22px}.artisan-project--feature{grid-row:span 2}.demo-page--artisan .artisan-project-image{position:relative;height:360px;overflow:hidden;margin:0}.artisan-project--feature .artisan-project-image{height:720px}.artisan-project-image:after{content:"";position:absolute;inset:0;background:#120f0c12}.artisan-project-image>span{position:absolute;right:18px;bottom:18px;z-index:2;padding:10px 12px;background:var(--ab-paper);font-size:9px;font-weight:800;text-transform:uppercase;opacity:0;transition:.25s}.artisan-project:hover .artisan-project-image>span{opacity:1}.artisan-project>div:last-child{display:grid;grid-template-columns:1fr auto;align-items:end;margin-top:16px}.artisan-project>div:last-child>span{grid-column:1/-1;color:var(--ab-copper);font-size:8px;font-weight:800;letter-spacing:.13em}.artisan-project-grid .artisan-project h3{margin:7px 0 0;font:400 25px Georgia,serif}.artisan-project-grid .artisan-project p{margin:0;color:var(--ab-muted);font-size:10px}.demo-page--artisan .project-table{background-position:65% center}
.demo-page--artisan .artisan-about{grid-template-columns:1.06fr .94fr;gap:0;padding:0;background:var(--ab-ink)}.artisan-about-image{position:relative;min-height:720px;background:url('/images/demos/atelier-brun-savoir-faire.webp') center/cover no-repeat}.artisan-about-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#0009)}.artisan-about-image>span{position:absolute;left:45px;bottom:40px;z-index:1;color:#fff;font:italic 23px/1.35 Georgia,serif}.artisan-about-copy{display:grid;align-content:center;padding:clamp(60px,8vw,135px)}.artisan-about-copy>span{color:#ce7d5e;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.artisan-about-copy h2{margin:20px 0 30px;font-size:clamp(46px,5.2vw,76px)}.artisan-about-copy h2 em{color:#cf876d;font-weight:400}.artisan-about-copy p{font-family:Georgia,serif;font-size:17px}.artisan-about-copy blockquote{margin:35px 0;padding:20px 0;border-block:1px solid #55574f;color:#ece4d9;font:italic 20px/1.5 Georgia,serif}.artisan-about-copy a{justify-self:start;margin-top:8px;padding-bottom:6px;border-bottom:1px solid #c7795c;color:#e7c2b5;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.artisan-process{padding:clamp(80px,10vw,145px) clamp(24px,7vw,115px);background:#ded7ca}.artisan-process>header{display:grid;grid-template-columns:.45fr 1fr}.artisan-process header>p{margin-top:15px;color:var(--ab-copper);font-size:9px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.artisan-process h2{margin:0;font:400 clamp(45px,5.2vw,76px)/.95 Georgia,serif;letter-spacing:-.045em}.artisan-process ol{display:grid;grid-template-columns:repeat(4,1fr);margin:70px 0 0;padding:0;border-top:1px solid #aaa397;list-style:none}.artisan-process li{padding:28px 28px 0 0;border-right:1px solid #aaa397}.artisan-process li+li{padding-left:28px}.artisan-process li>span{color:var(--ab-copper);font:italic 16px Georgia,serif}.artisan-process h3{margin:60px 0 15px;font:400 27px Georgia,serif}.artisan-process li p{margin:0;color:var(--ab-muted);font:13px/1.65 Inter,sans-serif}
.demo-page--artisan .artisan-contact{display:grid;grid-template-columns:1fr .72fr;gap:10vw;padding:clamp(80px,10vw,145px) clamp(24px,8vw,140px);background:#f0ebe2;text-align:left}.artisan-contact>div:first-child>p{margin:0 0 20px}.demo-page--artisan .artisan-contact h2{font-size:clamp(46px,5.4vw,82px)}.artisan-contact>div:first-child>span{display:block;max-width:590px;margin-top:28px;color:var(--ab-muted);font:16px/1.7 Georgia,serif}.artisan-contact-card{align-self:center;padding:35px;border-left:1px solid #b9b1a4}.artisan-contact-card small{display:block;margin:0 0 8px;color:var(--ab-copper);font-size:8px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.demo-page--artisan .artisan-contact-card a{display:flex;justify-content:space-between;margin:0 0 28px;font:clamp(18px,2vw,27px) Georgia,serif;text-decoration:none}.artisan-contact-card a b{color:var(--ab-copper)}.artisan-contact-card p{margin:38px 0 20px;color:var(--ab-muted);font-size:12px;line-height:1.7}.artisan-contact-card em{display:block;color:#918a80;font-size:9px;font-style:normal}.demo-page--artisan .artisan-footer{align-items:center;padding:30px clamp(24px,5vw,80px);background:var(--ab-ink);color:#fff}.artisan-footer .artisan-logo i{background:#f1ece2;color:var(--ab-ink)}.artisan-footer .artisan-logo small{color:#aba99f}.artisan-footer>span{color:#aaa99f;font-size:9px;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:1000px){.demo-page--artisan .artisan-nav{grid-template-columns:1fr auto}.demo-page--artisan .artisan-nav nav{display:none}.demo-page--artisan .artisan-hero{grid-template-columns:1fr;max-height:none}.demo-page--artisan .artisan-hero-copy{min-height:640px}.demo-page--artisan .artisan-hero-visual{min-height:70vw}.artisan-project--feature .artisan-project-image{height:600px}.demo-page--artisan .artisan-about{grid-template-columns:1fr}.artisan-about-image{min-height:65vw}.artisan-process>header{grid-template-columns:1fr}.artisan-process ol{grid-template-columns:1fr 1fr}.artisan-process li:nth-child(2){border-right:0}.artisan-process li:nth-child(n+3){margin-top:40px}.demo-page--artisan .artisan-contact{grid-template-columns:1fr}.artisan-contact-card{padding-left:0;border-left:0;border-top:1px solid #b9b1a4}}
@media(max-width:650px){.demo-page--artisan .artisan-nav{padding:15px 20px}.demo-page--artisan .artisan-nav-cta{font-size:0;padding:12px}.artisan-nav-cta span{margin:0;font-size:15px}.demo-page--artisan .artisan-hero-copy{min-height:auto;padding:70px 23px}.demo-page--artisan .artisan-hero h1{font-size:54px}.artisan-hero-actions{align-items:flex-start;flex-direction:column}.artisan-hero-proof{gap:15px}.artisan-hero-proof strong{font-size:20px}.demo-page--artisan .artisan-hero-visual{min-height:105vw}.artisan-project-tag{left:16px!important;bottom:16px!important}.demo-page--artisan .artisan-trust{grid-template-columns:1fr 1fr}.demo-page--artisan .artisan-trust span{justify-content:flex-start}.demo-page--artisan .artisan-projects>header,.demo-page--artisan .artisan-project-grid{grid-template-columns:1fr}.demo-page--artisan .artisan-projects>header{gap:25px}.artisan-project--feature{grid-row:auto}.artisan-project--feature .artisan-project-image,.demo-page--artisan .artisan-project-image{height:108vw;max-height:520px}.artisan-about-image{min-height:105vw}.artisan-about-image>span{left:24px;bottom:24px}.artisan-about-copy{padding:70px 24px}.artisan-process ol{grid-template-columns:1fr}.artisan-process li,.artisan-process li+li{margin:0!important;padding:25px 0;border-right:0;border-bottom:1px solid #aaa397}.artisan-process h3{margin:25px 0 10px}.demo-page--artisan .artisan-contact{padding:70px 24px}.artisan-contact-card{padding:28px 0}.demo-page--artisan .artisan-footer{justify-items:center}.artisan-footer>span{text-align:center}}

/* Assistant IA INFO25 */
.ai-assistant{position:fixed;right:22px;bottom:22px;z-index:1200;font-family:Inter,system-ui,sans-serif}.ai-assistant-toggle{display:flex;gap:9px;align-items:center;padding:13px 18px;border:0;border-radius:999px;background:#171513;color:#fff;font-weight:850;box-shadow:0 12px 35px rgba(0,0,0,.24);cursor:pointer}.ai-assistant-toggle span{color:#e7b65c}.ai-assistant-panel{position:absolute;right:0;bottom:58px;width:min(390px,calc(100vw - 28px));overflow:hidden;border:1px solid #ded8cf;border-radius:16px;background:#fff;box-shadow:0 22px 70px rgba(0,0,0,.24)}.ai-assistant-panel header{display:flex;justify-content:space-between;align-items:center;padding:17px 18px;background:#171513;color:#fff}.ai-assistant-panel header div{display:grid;gap:2px}.ai-assistant-panel header small{color:#cfc5b7}.ai-assistant-panel header button{border:0;background:transparent;color:#fff;font-size:25px;cursor:pointer}.ai-assistant-messages{display:grid;gap:10px;max-height:360px;min-height:220px;overflow:auto;padding:16px;background:#f6f2eb}.ai-message{max-width:88%;margin:0;padding:11px 13px;border-radius:13px;background:#fff;color:#29241f;line-height:1.45;white-space:pre-wrap}.ai-message--user{justify-self:end;background:#7b4d18;color:#fff}.ai-assistant-panel form{display:grid;gap:7px;padding:13px 14px}.ai-assistant-panel form label{font-size:11px;font-weight:800}.ai-assistant-panel form div{display:flex;gap:7px}.ai-assistant-panel input{min-width:0;flex:1;padding:11px;border:1px solid #cfc7bc;border-radius:8px}.ai-assistant-panel form button{padding:0 13px;border:0;border-radius:8px;background:#7b4d18;color:#fff;font-weight:800}.ai-assistant-notice{display:block;padding:0 14px 14px;color:#756d63;line-height:1.35}@media(max-width:600px){.ai-assistant{right:14px;bottom:14px}.ai-assistant-panel{position:fixed;inset:72px 14px 14px;width:auto}.ai-assistant-messages{max-height:none;height:calc(100% - 190px)}}
