/* Cotardo / France: softer surfaces, clear hierarchy, purposeful colour. */
:root { --france-red:#e54858; --clean-radius:24px; }
body { font-family:Arial,Helvetica,sans-serif; }
.global-header { border-bottom:1px solid var(--line); }
.global-header::before { content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#2459e8 0 33.33%,#fff 33.33% 66.66%,#e54858 66.66%); }
.hero { border:1px solid var(--line);border-radius:28px!important;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);background:var(--paper); }
.hero-copy { padding:clamp(28px,4vw,56px); }
.hero-copy::after,.hero-actions .primary::after { display:none; }
.hero-copy>.eyebrow { font-family:inherit;letter-spacing:.12em;border:0;padding:0;color:var(--ink);font-size:11px; }
.hero h1 { font-family:Arial,Helvetica,sans-serif;font-weight:800;letter-spacing:-.055em;line-height:1.05;text-transform:none;font-size:clamp(42px,5.7vw,76px);margin:22px 0 18px; }
.hero-description,.hero .hero-description { font-size:17px;line-height:1.65;max-width:34ch; }
.hero-actions .primary,.hero-actions .primary:hover { border:0;box-shadow:none;transform:none;min-height:54px; }
.hero-actions .primary i { display:inline;font-style:normal; }
.cotardo-hero-art { background:var(--paper);border:0;padding:36px;justify-content:center; }
.cotardo-hero-art img { width:100%;max-width:280px;border-radius:50%;box-shadow:0 16px 36px #07133124; }
.cotardo-hero-art figcaption { display:none; }
.hero-guide { grid-column:1/-1;background:color-mix(in srgb,var(--paper) 94%,var(--cotardo-blue));border:0;border-top:1px solid color-mix(in srgb,var(--ink) 12%,var(--paper));padding:26px 32px;color:var(--ink); }
.hero-guide>span { color:var(--ink);font-family:inherit;font-size:16px;letter-spacing:-.02em;text-transform:none;font-weight:700; }
.hero-guide ol { margin-top:18px;gap:20px; }
.hero-guide ol li,.hero-guide ol li:nth-child(2),.hero-guide ol li:last-child { margin:0;padding:0 0 0 38px;border:0; }
.hero-guide ol li::before { top:11px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--cotardo-blue);color:var(--button-text);font-size:11px;opacity:1; }
.hero-guide button { color:var(--ink);min-height:74px;padding:12px 0; }
.hero-guide ol b { color:var(--ink);font-size:14px; }
.hero-guide ol small { color:color-mix(in srgb,var(--ink) 75%,var(--paper));font-size:13px;line-height:1.5;margin-top:6px; }
.hero-guide button i { font-size:18px;color:var(--ink); }
.dashboard-shortcuts { gap:12px;border:0;margin-top:20px; }
.dashboard-shortcuts button,.dashboard-shortcuts button:last-child { background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;min-height:92px; }
.dashboard-shortcuts button>span { display:none; }
.dashboard-shortcuts button>i { font-size:22px; }
:is(.primary,.ghost,.icon-btn,.cart-open,.catalog-search,.view-toggle,.view-toggle button,.catalog-category-filter button,.tab-motion-indicator) { border-radius:14px!important; }
:is(.product-card,.catalog-no-results,.panel,.info-sheet,.cart-item,.cart-dock,.access-card,dialog) { border-radius:var(--clean-radius)!important; }
:is(input,select,textarea) { border-radius:12px!important; }
.primary,.ghost,.cart-open { min-height:46px; }
.primary { font-weight:700; }
.page-intro,.console-head { border:0;padding-top:8px; }
.page-intro h1,.console-head h1 { font-size:clamp(32px,4vw,48px);line-height:1.14;letter-spacing:-.045em;text-transform:none;font-weight:750; }
.page-intro .eyebrow { font-family:inherit; }
.catalog-discovery { gap:12px; }
.catalog-search { border:1px solid var(--line);background:var(--surface); }
.catalog-section-head { border-bottom:1px solid var(--line);padding-bottom:16px; }
.catalog-section-head .eyebrow { display:none; }
.catalog-section-head h2 { font-size:24px;text-transform:none;letter-spacing:-.03em; }
.product-card { overflow:hidden;border:1px solid var(--line)!important; }
.product-card h3 { font-size:26px;letter-spacing:-.035em;font-weight:750; }
.product-card .product-pricing { background:color-mix(in srgb,var(--surface) 88%,var(--bg));border:0;border-radius:18px;padding:20px; }
.product-media-frame { border-radius:18px!important;overflow:hidden; }
.product-details-trigger { border-radius:10px; }
.pricing-head { display:none; }
.product-card .price-list { margin-top:0; }
.purchase-control { gap:12px; }
.purchase-control .primary { min-height:50px; }
.sidebar nav button.active { border-left:0;border-radius:14px;background:color-mix(in srgb,var(--cotardo-blue) 23%,var(--bg)); }
.sidebar nav button { border-radius:14px; }
.cart-dock { border:1px solid var(--line);box-shadow:0 10px 36px #0002!important; }
.cart-dock[hidden] { display:none!important; }
.cart-checkout { padding:28px; }
.cart-total>b { font-size:38px;letter-spacing:-.04em; }
.cart-quantity { border-radius:14px;overflow:hidden; }
.cart-quantity button { min-width:44px;min-height:44px; }
.service-choices { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px; }
.service-choices button { border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);padding:16px 12px;text-align:left;min-height:88px; }
.service-choices b,.service-choices small { display:block; }
.service-choices b { font-size:14px; }.service-choices small { font-size:12px;color:var(--muted);margin-top:7px;line-height:1.4; }
.service-choices button[aria-pressed=true] { border:2px solid var(--accent);padding:15px 11px;background:color-mix(in srgb,var(--cotardo-blue) 14%,var(--surface)); }
.service-choices button[aria-pressed=true] b::after { content:' ✓';color:var(--accent); }
.has-service-choices .order-service-select { display:none; }
.order-service-field>span>em { display:none; }
.cart-item-index { color:var(--muted);font-weight:500; }
.order-progress { display:flex;gap:12px;align-items:center;margin:0 0 24px;color:var(--muted);font-size:13px;flex-wrap:wrap; }
.order-progress span { display:flex;align-items:center;gap:7px; }
.order-progress b { display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;border:1px solid var(--line);font-size:11px; }
.order-progress [aria-current=step] { color:var(--text);font-weight:700; }
.order-progress [aria-current=step] b { background:var(--cotardo-blue);color:var(--button-text);border-color:var(--cotardo-blue); }
.order-progress>i { font-style:normal;opacity:.5; }
#submitOrder { min-height:54px; }
#brandLivePreview,.brand-preview-hero,#brandPreviewButton { border-radius:16px; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 button { transition:background-color 180ms ease,border-color 180ms ease,box-shadow 180ms ease; }
 .dashboard-shortcuts button:hover,.service-choices button:hover { border-color:var(--accent); }
}
@media(max-width:950px) { .hero { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); }.cotardo-hero-art { padding:24px; } }
@media(max-width:650px) {
 .hero { grid-template-columns:1fr;border-radius:24px!important; }
 .hero-copy { padding:28px 24px 22px; }
 .hero h1 { font-size:46px;margin:18px 0 14px; }
 .hero .hero-description { font-size:16px; }
 .cotardo-hero-art { padding:0 24px 26px; }
 .cotardo-hero-art img { max-width:144px; }
 .hero-guide { padding:24px; }
 .hero-guide ol { grid-template-columns:1fr;gap:8px; }
 .hero-guide ol li,.hero-guide ol li:nth-child(2),.hero-guide ol li:last-child { padding-left:38px;border:0; }
 .hero-guide button { min-height:76px; }
 .hero-guide ol li::before { top:12px; }
 .dashboard-shortcuts { grid-template-columns:1fr;gap:10px; }
 .dashboard-shortcuts button,.dashboard-shortcuts button:last-child { min-height:76px;padding:16px 20px; }
 .cart-checkout { padding:20px; }.service-choices { grid-template-columns:1fr;gap:8px; }
 .service-choices button { min-height:68px;padding:14px 16px; }
 .service-choices button[aria-pressed=true] { padding:13px 15px; }
 .service-choices small { margin-top:4px; }
 .order-progress { gap:8px;font-size:12px; }.order-progress>i { display:none; }
 .page-intro h1 { font-size:36px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important;animation:none!important;scroll-behavior:auto!important; } }
.dashboard-shortcuts button { display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;text-align:left;gap:16px; }
.dashboard-shortcuts button>div { min-width:0; }
.primary,.cart-open { background-image:none!important; }
.cart-list>.empty-state { display:grid;justify-items:start;gap:16px;padding:28px;text-align:left; }
/* Section dock and immersive brand header, shared across every app surface. */
:root { --header:88px; }
.app-shell { display:block!important;padding-top:var(--header); }
.workspace { width:100%;max-width:1240px;margin-inline:auto;padding:32px 28px 190px;min-width:0; }
.global-header { height:var(--header);padding:12px max(24px,calc((100vw - 1184px)/2));background:var(--bg);border:0;box-shadow:none;gap:24px; }
.global-header::before { height:2px;opacity:.85; }
.identity { gap:14px;min-width:0;border:0;padding:0; }
.identity strong { font-size:23px;font-weight:800;letter-spacing:-.045em; }
.identity small { font-size:10px;letter-spacing:.15em; }
#sideLogo { width:62px;height:62px;flex:0 0 62px; }
.logo,.auth-logo-mini,.auth-logo-stage,.access-card .auth-art .auth-logo-stage { background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;overflow:visible; }
.logo img,.auth-logo-mini img,.auth-logo-stage img,.cotardo-hero-art img,#loadingFrameStage img { clip-path:circle(49.5% at 50% 50%);border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;object-fit:contain; }
.header-copy { display:flex!important;align-items:center;justify-content:flex-end;gap:12px;min-width:0;flex:1;border:0;padding:0; }
.header-copy>.eyebrow { display:none; }
.header-copy h2 { margin:0;font-size:13px;font-weight:600;color:var(--muted);padding:9px 14px;border-radius:99px;background:var(--surface);max-width:46vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.access-card .auth-art { background:transparent!important;color:var(--text); }
.access-card .auth-art h1,.access-card .auth-art h1 em { color:var(--text);font-weight:750;text-transform:none; }
.access-card .auth-art p,.access-card .auth-art .eyebrow { color:var(--muted); }
.access-card .auth-art .auth-logo-stage { width:min(240px,65%);margin-bottom:24px; }
.app-shell>.section-dock { display:grid!important;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);grid-template-columns:none;position:fixed;left:50%;right:auto;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(720px,calc(100% - 24px));padding:8px;border:1px solid var(--line);border-radius:24px!important;background:var(--bg);box-shadow:0 10px 36px #0004;z-index:60;gap:4px; }
.section-dock>button { display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:58px;gap:5px;padding:6px 4px;border:0;background:transparent;border-radius:16px!important;color:var(--muted);font-size:11px; }
.section-dock>button.hidden { display:none!important; }
.section-dock>button.active,.section-dock>#menuBtn[aria-expanded=true] { color:var(--text);background:var(--surface); }
.section-dock .ui-icon { width:22px;height:22px; }
.section-dock .dock-label { display:block;white-space:nowrap; }
.section-dock .tab-motion-indicator { border-radius:16px!important; }
#menuBtn { display:flex!important; }
.cart-dock { left:50%!important;right:auto!important;transform:translateX(-50%);width:min(700px,calc(100% - 32px));bottom:calc(100px + env(safe-area-inset-bottom,0px))!important;z-index:59; }
.sidebar { position:fixed!important;inset:auto auto 0 50%!important;width:min(760px,100%)!important;max-height:82dvh;height:auto!important;min-height:0;padding:20px 24px calc(24px + env(safe-area-inset-bottom));transform:translate(-50%,105%)!important;visibility:hidden;border:1px solid var(--line);border-bottom:0;border-radius:28px 28px 0 0!important;z-index:82!important;background:var(--bg);overflow-y:auto;overscroll-behavior:contain;transition:transform 280ms cubic-bezier(.22,.8,.25,1),visibility 280ms; }
.sidebar.open { transform:translate(-50%,0)!important;visibility:visible; }
.drawer-heading { display:flex!important;align-items:center;justify-content:space-between;margin-bottom:20px;gap:16px; }
.drawer-heading>b { font-size:20px;letter-spacing:-.025em; }
#closeNav { display:grid;place-items:center;width:44px;height:44px;padding:0; }
.nav-backdrop:not([hidden]) { display:block!important;position:fixed;inset:0!important;z-index:81!important;border:0;border-radius:0;background:#0008; }
.sections-open { overflow:hidden; }
.sidebar #nav { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.sidebar #nav .nav-group { min-width:0;margin:0;padding:0; }
.sidebar nav button { min-height:50px; }
.sidebar .side-bottom { margin-top:24px;padding-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line); }
.sidebar .session-note { display:none; }
html { scroll-padding-top:100px;scroll-padding-bottom:190px; }
@media(max-width:650px) {
 :root { --header:80px; }
 .global-header { padding:10px 20px;gap:12px; }
 #sideLogo { width:54px;height:54px;flex-basis:54px; }
 .identity { gap:10px; }.identity strong { font-size:20px; }.identity small { font-size:9px; }
 .header-copy h2 { font-size:11px;padding:8px 10px;max-width:33vw; }
 .workspace { padding:20px 16px 190px; }
 .app-shell>.section-dock { border-radius:22px!important;bottom:max(8px,env(safe-area-inset-bottom));width:calc(100% - 16px);padding:6px;gap:0; }
 .section-dock>button { min-height:58px;font-size:10px; }
 .section-dock .ui-icon { width:21px;height:21px; }
 .sidebar { padding:20px 18px calc(22px + env(safe-area-inset-bottom)); }
 .sidebar #nav { grid-template-columns:1fr; }
 .access-card .auth-art .auth-logo-stage { width:140px; }
}
@media(max-height:500px) { .sidebar { max-height:94dvh; }.sidebar #nav { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(prefers-reduced-motion:reduce) { .sidebar { transition:none!important; } }
.sidebar { transition:transform 280ms cubic-bezier(.22,.8,.25,1),visibility 0s 280ms; }
.sidebar.open { transition-delay:0s; }
@media(prefers-reduced-motion:reduce) { .sidebar { transition:none!important; } }
.section-dock>button .dock-label { font-size:11px;line-height:1.2;font-weight:600; }
.section-dock>#menuBtn { width:auto;height:auto;justify-self:stretch; }
@media(max-width:650px) { .section-dock>button .dock-label { font-size:10px; } }
#authView .auth-logo-stage,#telegramGate .auth-logo-stage { width:160px;aspect-ratio:1;margin:0 auto 20px;overflow:visible; }
#authView .auth-logo-stage img,#telegramGate .auth-logo-stage img { width:100%;height:100%;object-fit:contain; }
@media(min-width:951px) { #telegramGate .auth-logo-stage { width:240px;margin:0 0 24px; } }
/* Cart access lives in the dock, without a second overlapping bar. */
#cartDock { display:none!important; }
.section-dock>button { position:relative; }
.section-dock .dock-count { position:absolute;top:3px;right:calc(50% - 25px);display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:var(--cotardo-blue);color:var(--button-text);font-size:10px;font-weight:700;line-height:1; }
.section-dock .dock-count[hidden] { display:none; }
.app-shell.hidden { display:none!important; }
