.cx{ background:var(--v2-bg, #f6f1ec); padding-bottom:72px; }

.cx-quick{ position:relative; z-index:2; display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px; margin-top:-64px; }

.cx-main{ display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,.9fr); gap:20px; align-items:start; margin-top:28px; }
.cx-form-card{ padding:26px; }
.cx-form{ display:flex; flex-direction:column; gap:18px; }
.cx-grid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px 14px; }
.cx-field{ display:flex; flex-direction:column; gap:7px; }
.cx-label{ display:flex; align-items:center; justify-content:space-between; gap:8px; font:500 .86rem 'Inter', sans-serif; color:var(--v2-fg, #18181b); }
.cx-label em{ font-style:normal; font-weight:400; font-size:.78rem; color:#a1a1aa; }
.cx-input{ width:100%; height:42px; padding:0 13px; border:1px solid var(--v2-border, #e4e4e7); border-radius:9px; background:var(--v2-surface, #fbf8f5); color:var(--v2-fg, #18181b); font:400 .94rem 'Inter', sans-serif; box-shadow:var(--v2-shadow-sm, 0 1px 2px rgba(16,24,40,.05)); outline:0; transition:border-color .15s, box-shadow .15s; box-sizing:border-box; }
.cx-input::placeholder{ color:#a1a1aa; }
.cx-input:focus{ background:var(--v2-card, #fff);  border-color:var(--v2-primary, #6b1424); box-shadow:0 0 0 3px var(--v2-ring, rgba(107,20,36,.22)); }
.cx-textarea{ height:auto; min-height:150px; padding:11px 13px; line-height:1.6; resize:vertical; }
.cx .form-row.has-error .cx-input{ border-color:#dc2626; box-shadow:0 0 0 3px rgba(220,38,38,.12); }
.cx .form-error{ color:#b91c1c; font-size:.8rem; }
.cx .form-error:empty{ display:none; }

.cx-seg{ display:flex; flex-wrap:wrap; gap:8px; }
.cx-seg label{ position:relative; cursor:pointer; }
.cx-seg input{ position:absolute; opacity:0; pointer-events:none; }
.cx-seg span{ display:inline-flex; align-items:center; gap:8px; height:38px; padding:0 14px; border:1px solid var(--v2-border, #e4e4e7); border-radius:9px; background:var(--v2-surface, #fbf8f5); color:#5a4c4e; font:500 .86rem 'Inter', sans-serif; box-shadow:var(--v2-shadow-sm, 0 1px 2px rgba(16,24,40,.05)); transition:background .15s, border-color .15s, color .15s; }
.cx-seg span i{ font-size:.8rem; color:#a1a1aa; transition:color .15s; }
.cx-seg label:hover span{ border-color:var(--v2-border-strong, #d4d4d8); color:var(--v2-fg, #18181b); }
.cx-seg input:checked + span{ background:var(--v2-primary-soft, #f6e8e8); border-color:var(--v2-primary, #6b1424); color:var(--v2-primary, #6b1424); box-shadow:0 0 0 1px var(--v2-primary, #6b1424) inset; }
.cx-seg input:checked + span i{ color:var(--v2-primary, #6b1424); }
.cx-seg input:focus-visible + span{ box-shadow:0 0 0 3px var(--v2-ring, rgba(107,20,36,.22)); }

.cx-form__foot{ display:flex; align-items:center; justify-content:flex-end; gap:16px; flex-wrap:wrap; padding-top:4px; }
.cx-form__foot p{ margin:0; color:var(--v2-muted, #71717a); font-size:.82rem; }
.cx-form__foot p i{ margin-right:6px; color:#a1a1aa; }
.cx-submit{ height:44px; padding:0 22px; }
.cx-submit::after{ content:"\f1d8"; font:900 .85rem "Font Awesome 6 Free"; }
.cx-submit:disabled{ opacity:.75; cursor:default; }
.cx-submit:disabled::after{ content:none; }
.cx-alert{ margin-bottom:16px; padding:12px 14px; border-radius:10px; font-size:.9rem; border:1px solid; }
.cx-alert.is-ok{ background:#f6ebe8; border-color:#e8d3d2; color:#2b0a11; }
.cx-alert.is-err{ background:#fef2f2; border-color:#fecaca; color:#991b1b; }

.cx-side{ display:flex; flex-direction:column; gap:16px; }
.cx-side .v2-card{ padding:18px; }
.cx-map-card{ padding:8px !important; }
.cx-map{ height:220px; border-radius:9px; overflow:hidden; background:var(--v2-muted-bg, #f4f4f5); }
.cx-map-card__body{ display:flex; gap:12px; padding:14px 10px 4px; }
.cx-map-card__body strong{ display:block; font-size:.94rem; }
.cx-map-card__body p{ margin:2px 0 0; color:var(--v2-muted, #71717a); font-size:.86rem; line-height:1.5; }
.cx-map-card__btn{ width:calc(100% - 20px); margin:10px; }
.cx-hours{ list-style:none; margin:0; padding:0; }
.cx-hours li{ display:flex; justify-content:space-between; align-items:center; padding:9px 10px; border-radius:8px; font-size:.88rem; color:#52525b; }
.cx-hours li + li{ border-top:1px solid var(--v2-muted-bg, #f4f4f5); }
.cx-hours li.is-today{ background:var(--v2-muted-bg, #f4f4f5); color:var(--v2-fg, #18181b); border-top-color:transparent; }
.cx-hours li.is-today + li{ border-top-color:transparent; }
.cx-hours b{ margin-left:8px; padding:2px 8px; border-radius:999px; background:var(--v2-primary, #6b1424); color:#fff; font-size:.68rem; font-weight:600; }
.cx-hours strong{ font-weight:600; color:var(--v2-fg, #18181b); font-variant-numeric:tabular-nums; }
.cx-hours strong.is-off{ color:#a1a1aa; font-weight:500; }
.cx-legal{ margin-top:28px; }
.cx-legal__title{ margin:0 0 12px; font:600 .78rem 'Inter', sans-serif; letter-spacing:.08em; text-transform:uppercase; color:var(--v2-muted, #71717a); }
.cx-legal__grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(max(220px, calc((100% - 42px) / 4)), 1fr)); gap:14px; }
.cx-legal .v2-tile{ font:inherit; text-align:left; cursor:default; }
.cx-legal a.v2-tile, .cx-legal button.v2-tile{ cursor:pointer; }
.cx-legal div.v2-tile:hover{ transform:none; box-shadow:var(--v2-shadow, 0 1px 3px rgba(16,24,40,.08)); border-color:var(--v2-border, #e4e4e7); }
.cx-legal .v2-tile__text strong{ font-variant-numeric:tabular-nums; }
.v2-tile__qr{ width:42px; height:42px; flex:0 0 42px; border-radius:8px; background:#fff; padding:2px; border:1px solid var(--v2-border, #e4e4e7); }
.cx-plate{ max-width:min(860px, 92vw); max-height:90vh; padding:0; border:0; border-radius:14px; background:var(--v2-card, #fff); box-shadow:0 30px 80px -20px rgba(0,0,0,.45); overflow:auto; }
.cx-plate::backdrop{ background:rgba(31,30,26,.55); backdrop-filter:blur(3px); }
.cx-plate[open]{ animation:cxPlateIn .28s cubic-bezier(.16,1,.3,1); }
.cx-plate img{ display:block; width:100%; height:auto; }
.cx-plate__close{ position:absolute; top:10px; right:10px; width:36px; height:36px; border:1px solid var(--v2-border, #e4e4e7); border-radius:9px; background:var(--v2-card, #fff); cursor:pointer; }
@keyframes cxPlateIn{ from{ opacity:0; transform:translateY(8px) scale(.98); } to{ opacity:1; transform:none; } }

.cx-faq{ margin-top:64px; display:grid; grid-template-columns:minmax(240px,.8fr) minmax(0,2fr); gap:32px; align-items:start; }
.cx-faq__head{ position:sticky; top:110px; }
.cx-faq__head h2{ margin:0 0 10px; font:700 1.5rem/1.2 'Inter', sans-serif; letter-spacing:-.025em; color:var(--v2-fg, #18181b); }
.cx-faq__head p{ margin:0 0 18px; color:var(--v2-muted, #71717a); line-height:1.65; font-size:.93rem; }
.cx-faq__actions{ display:flex; gap:8px; flex-wrap:wrap; }
.cx-faq__actions .fa-whatsapp{ color:#25a55a; }
.cx-accordion{ padding:4px 20px; }
.cx-acc + .cx-acc{ border-top:1px solid var(--v2-border, #e4e4e7); }
.cx-acc__trigger{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 2px; border:0; background:none; color:var(--v2-fg, #18181b); font:600 .96rem 'Inter', sans-serif; text-align:left; cursor:pointer; }
.cx-acc__trigger:hover span{ text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--v2-border-strong, #d4d4d8); }
.cx-acc__trigger i{ flex:0 0 auto; font-size:.75rem; color:var(--v2-muted, #71717a); transition:transform .3s cubic-bezier(.16,1,.3,1); }
.cx-acc.is-open .cx-acc__trigger i{ transform:rotate(180deg); }
.cx-acc__trigger:focus-visible{ outline:none; box-shadow:0 0 0 3px var(--v2-ring, rgba(107,20,36,.22)); border-radius:8px; }
.cx-acc__panel{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .32s cubic-bezier(.16,1,.3,1); }
.cx-acc.is-open .cx-acc__panel{ grid-template-rows:1fr; }
.cx-acc__inner{ overflow:hidden; }
.cx-acc__inner p{ margin:0; padding:0 2px 18px; color:#52525b; line-height:1.7; opacity:0; transform:translateY(-4px); transition:opacity .25s ease, transform .3s cubic-bezier(.16,1,.3,1); }
.cx-acc.is-open .cx-acc__inner p{ opacity:1; transform:none; transition-delay:.05s; }

@media (max-width: 1080px){
    .cx-quick{ grid-template-columns:repeat(2, minmax(0,1fr)); }
    .cx-main{ grid-template-columns:minmax(0,1fr); }
    .cx-faq{ grid-template-columns:minmax(0,1fr); gap:18px; }
    .cx-faq__head{ position:static; }
}
@media (max-width: 760px){
    .cx-quick{ gap:10px; margin-top:-56px; }
    .cx-form-card{ padding:20px 16px; }
    .cx-grid{ grid-template-columns:minmax(0,1fr); }
    .cx-submit{ width:100%; }
    .cx-legal__grid{ grid-template-columns:minmax(0,1fr); gap:10px; }
    .cx-accordion{ padding:2px 14px; }
}
@media (max-width: 420px){ .cx-quick{ grid-template-columns:minmax(0,1fr); } }
@media (prefers-reduced-motion: reduce){ .cx *{ transition:none !important; animation:none !important; } }
