@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --navy:#061f3d; --blue:#0a5ea8; --blue-bright:#1c81d7; --wine:#7a382e; --orange:#f28a2e; --cream:#f8f5ee; --paper:#fffdf8; --line:rgba(6,31,61,.14); --muted:#627487; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { min-width:320px; margin:0; background:linear-gradient(135deg,#eef4f7 0%,var(--cream) 45%,#f6ead9 100%); color:var(--navy); font-family:Manrope, sans-serif; }
body::before { position:fixed; z-index:-1; inset:0; content:""; opacity:.38; background-image:radial-gradient(var(--blue) .6px,transparent .6px); background-size:11px 11px; mask-image:linear-gradient(to bottom,black,transparent 55%); }
.store-shell,.admin-shell,.message,.payment-shell { width:min(1220px,calc(100% - 40px)); margin:auto; padding:24px 0 42px; }
.site-header { display:flex; align-items:center; justify-content:space-between; padding:0 0 26px; }
.wordmark { color:var(--blue); font:900 2.25rem/.8 "DM Serif Display",serif; letter-spacing:-.12em; text-decoration:none; }
.wordmark span { display:inline-block; margin-left:14px; color:var(--wine); font:800 .58rem/1 Manrope,sans-serif; letter-spacing:.12em; text-transform:uppercase; vertical-align:middle; }
.header-meta { display:flex; align-items:center; gap:20px; color:var(--wine); font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.header-meta a { border:1px solid var(--navy); border-radius:999px; padding:9px 13px; color:var(--navy); text-decoration:none; }
.hero { display:grid; grid-template-columns:1.08fr .92fr; overflow:hidden; border-radius:28px; background:var(--navy); box-shadow:0 30px 80px rgba(6,31,61,.18); }
.hero-copy { position:relative; min-height:565px; padding:74px 8% 64px; color:var(--cream); background:linear-gradient(150deg,#062346 0%,#0a5ea8 130%); }
.hero-copy::after { position:absolute; width:280px; height:280px; right:-120px; bottom:-135px; border:1px solid rgba(255,255,255,.32); border-radius:50%; content:""; box-shadow:0 0 0 38px rgba(255,255,255,.06),0 0 0 76px rgba(255,255,255,.04); }
.eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 20px; color:var(--orange); font-size:.67rem; font-weight:800; letter-spacing:.14em; }
.eyebrow span { width:28px; height:2px; background:currentColor; }
h1,h2 { margin:0; font-family:"DM Serif Display",Georgia,serif; font-weight:400; letter-spacing:-.065em; }
h1 { position:relative; z-index:1; font-size:clamp(4.6rem,9.4vw,8.4rem); line-height:.75; }
h1 em { color:#f9b36d; font-style:italic; }
.lead { position:relative; z-index:1; max-width:430px; margin:35px 0; color:#d8e8f5; font-size:1rem; line-height:1.7; }
.hero-actions { position:relative; z-index:1; display:flex; align-items:center; flex-wrap:wrap; gap:20px; color:#c8d9e7; font-size:.7rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.primary-link { display:inline-flex; align-items:center; gap:18px; border-radius:999px; padding:15px 20px; background:var(--orange); color:#fff; font-size:.75rem; font-weight:800; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; transition:transform .2s,background .2s; }
.primary-link:hover { background:#ff9d47; transform:translateY(-2px); }
.primary-link span { font-size:1.2rem; }
.hero-art { position:relative; display:grid; place-content:center; min-height:565px; padding:48px; background:linear-gradient(135deg,#f9f4eb,#ecded0); }
.hero-art::before { position:absolute; top:18px; right:20px; bottom:18px; left:20px; border:1px solid rgba(6,31,61,.13); border-radius:18px; content:""; }
.art-frame { position:relative; z-index:1; padding:22px; border-radius:14px; background:var(--paper); box-shadow:16px 16px 0 var(--orange),0 20px 35px rgba(6,31,61,.14); transform:rotate(1.5deg); }
.art-frame img { display:block; width:min(100%,410px); }
.event-tag { position:absolute; z-index:2; top:46px; right:50px; display:grid; place-content:center; width:66px; height:66px; border-radius:50%; background:var(--wine); color:#fff; font:2rem/.65 "DM Serif Display",serif; text-align:center; transform:rotate(10deg); }
.event-tag small { font:800 .52rem Manrope,sans-serif; letter-spacing:.15em; }
.hero-art p { position:relative; z-index:1; margin:38px 0 0; color:var(--wine); font:italic 1rem/1.45 "DM Serif Display",serif; text-align:center; }
.hero-art p span { display:block; margin-top:7px; color:var(--blue); font:800 .63rem Manrope,sans-serif; font-style:normal; letter-spacing:.12em; text-transform:uppercase; }
.quote-banner { display:grid; grid-template-columns:.74fr 1.26fr; align-items:center; gap:30px; margin:22px 0 95px; padding:22px 30px; border:1px solid var(--line); border-radius:18px; background:rgba(255,253,248,.7); }
.quote-banner p { margin:0; color:var(--wine); font:italic clamp(1.5rem,2.6vw,2.4rem)/.96 "DM Serif Display",serif; }
.quote-banner img { display:block; width:100%; max-height:130px; object-fit:contain; object-position:center; }
.product-section { display:grid; grid-template-columns:minmax(0,1fr) 490px; gap:84px; align-items:start; }
.product-story { padding-top:17px; }
h2 { max-width:580px; color:var(--navy); font-size:clamp(3rem,5.2vw,5.25rem); line-height:.84; }
.product-story > p:not(.eyebrow) { max-width:470px; margin:22px 0 0; color:#536779; font-size:1rem; line-height:1.75; }
.composition { display:block; width:100%; margin:35px 0 20px; border-radius:14px; box-shadow:0 18px 35px rgba(6,31,61,.1); }
.product-meta { display:grid; gap:8px; }
.product-meta span { color:var(--wine); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.purchase-card { position:sticky; top:25px; overflow:hidden; border-radius:22px; padding:29px; background:var(--paper); box-shadow:0 25px 65px rgba(6,31,61,.16); }
.purchase-card::before { position:absolute; top:0; right:0; left:0; height:7px; background:linear-gradient(90deg,var(--orange),#ffc27a); content:""; }
.card-top { display:flex; justify-content:space-between; padding-top:4px; color:var(--muted); font-size:.66rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.sale-deadline { display:grid; gap:4px; margin:18px 0 22px; border-left:3px solid var(--orange); padding:11px 14px; background:#fff1df; color:var(--wine); }
.sale-deadline strong { font-size:.72rem; letter-spacing:.05em; text-transform:uppercase; }
.sale-deadline span { color:var(--muted); font-size:.74rem; }
.stock-dot { display:flex; align-items:center; gap:6px; color:#2b805e; }
.stock-dot::before { width:7px; height:7px; border-radius:50%; background:#2b805e; content:""; }
.price-line { display:flex; align-items:end; justify-content:space-between; margin:24px 0 0; padding-bottom:24px; border-bottom:1px solid var(--line); }
.price-line span { color:var(--muted); font-size:.74rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.price-line strong { color:var(--blue); font:2.55rem/.8 "DM Serif Display",serif; letter-spacing:-.05em; }
form { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:24px; }
label { display:grid; gap:7px; color:var(--navy); font-size:.65rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
label.wide { grid-column:1/-1; }
input,select,button { width:100%; border:0; border-radius:10px; min-height:48px; padding:11px 13px; font:inherit; }
input,select { outline:1px solid #d7e0e6; color:var(--navy); background:#f4f7f8; transition:outline .2s,background .2s; }
input:focus,select:focus { outline:2px solid var(--blue-bright); background:#fff; }
button { grid-column:1/-1; cursor:pointer; background:var(--blue); color:#fff; font-size:.73rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; transition:transform .2s,background .2s; }
button:hover { background:var(--blue-bright); transform:translateY(-1px); }
button:disabled { opacity:.7; cursor:wait; }
.pickup-note { margin:19px 0 0; color:var(--muted); font-size:.75rem; line-height:1.55; }
.form-error { margin:12px 0 0; color:#b13d24; font-size:.8rem; font-weight:800; }
.closing-art { display:grid; place-items:center; min-height:380px; margin-top:120px; overflow:hidden; border-radius:24px; padding:40px; background:var(--navy); }
.closing-art img { display:block; width:min(100%,820px); border-radius:10px; }
.how-it-works { display:grid; grid-template-columns:.72fr 1.28fr; gap:58px; align-items:start; margin-top:120px; padding:48px 0 18px; border-top:1px solid var(--line); }
.how-heading h2 em { color:var(--blue); font-style:italic; }
.how-heading > p:not(.eyebrow) { max-width:260px; margin:22px 0 0; color:var(--muted); font-size:.86rem; line-height:1.6; }
.steps { display:grid; grid-template-columns:repeat(2,1fr); gap:15px; }
.step-card { position:relative; min-height:215px; border:1px solid var(--line); border-radius:16px; padding:22px; background:rgba(255,253,248,.72); }
.step-number { display:block; margin-bottom:25px; color:var(--orange); font:1.45rem/.8 "DM Serif Display",serif; }
.step-card h3 { margin:0; color:var(--navy); font:1.42rem/1 "DM Serif Display",serif; }
.step-card p { margin:12px 0 17px; color:var(--muted); font-size:.75rem; line-height:1.55; }
.step-card strong { color:var(--wine); font-size:.62rem; letter-spacing:.06em; text-transform:uppercase; }
footer { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:26px 5px 0; color:var(--muted); font-size:.65rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
footer a { color:var(--blue); text-decoration:none; }
.message { max-width:700px; padding-top:20vh; }.message a { color:var(--blue); font-weight:bold; }.admin-login { max-width:540px; border-radius:18px; padding:24px; background:var(--navy); margin-bottom:24px; }.admin-login label { color:#fff; }.orders { display:grid; gap:12px; margin-top:28px; }.order-row { border:1px solid var(--line); border-radius:14px; background:var(--paper); padding:16px; display:grid; grid-template-columns:1.1fr 1fr 1fr 1fr auto; gap:14px; align-items:start; }.order-row div { display:grid; gap:5px; }.order-row span { font-family:monospace; font-size:.76rem; }.status { border:1px solid var(--wine); border-radius:6px; color:var(--wine); padding:4px; width:max-content; }.pickup-button { width:auto; min-width:145px; }

.back-link { color:var(--blue); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.payment-layout { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); overflow:hidden; border-radius:28px; background:var(--paper); box-shadow:0 30px 80px rgba(6,31,61,.17); }
.pix-card { position:relative; min-height:700px; padding:58px 8%; color:#fff; background:linear-gradient(150deg,#061f3d 0%,#0a5ea8 115%); }
.pix-card::after { position:absolute; right:-120px; bottom:-150px; width:340px; height:340px; border:1px solid rgba(255,255,255,.22); border-radius:50%; content:""; box-shadow:0 0 0 44px rgba(255,255,255,.05),0 0 0 88px rgba(255,255,255,.03); }
.pix-card h1 { font-size:clamp(3.6rem,7vw,6.6rem); }
.payment-intro { max-width:520px; color:#d8e8f5; line-height:1.7; }
.pix-amount { display:flex; align-items:end; justify-content:space-between; gap:20px; margin:32px 0 18px; border-top:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); padding:20px 0; }
.pix-amount span,.pix-key-box span { font-size:.67rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.pix-amount strong { color:#ffc27a; font:3rem/.9 "DM Serif Display",serif; }
.pix-qr { display:block; width:180px; margin:0 0 18px; border:10px solid #fff; border-radius:12px; }
.pix-key-box { position:relative; z-index:1; display:grid; grid-template-columns:1fr auto; align-items:center; gap:9px 15px; border-radius:14px; padding:18px; background:rgba(255,255,255,.1); }
.pix-key-box span { grid-column:1/-1; color:#b9d4e8; }
.pix-key-box code { overflow-wrap:anywhere; font-size:.91rem; }
.copy-button { grid-column:auto; width:auto; min-height:36px; border:1px solid rgba(255,255,255,.32); padding:7px 12px; background:transparent; font-size:.62rem; }
.pix-recipient { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:22px 0; }
.pix-recipient div { display:grid; gap:4px; }
.pix-recipient dt { color:#b9d4e8; font-size:.59rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.pix-recipient dd { margin:0; font-size:.76rem; font-weight:700; }
.pix-alert { position:relative; z-index:1; border-left:3px solid var(--orange); padding-left:13px; color:#d8e8f5; font-size:.76rem; line-height:1.5; }
.payment-locked .pix-amount,.payment-locked .pix-qr,.payment-locked .pix-key-box,.payment-locked .pix-recipient,.payment-locked .pix-alert { display:none; }
.receipt-card { padding:58px 9%; background:linear-gradient(145deg,#fffdf8,#f4eee4); }
.order-summary { display:flex; justify-content:space-between; gap:14px; border-bottom:1px solid var(--line); padding-bottom:20px; color:var(--muted); font-size:.75rem; }
.order-summary strong { color:var(--navy); text-align:right; }
.review-state { display:flex; gap:14px; margin:25px 0; border-radius:14px; padding:18px; background:#edf4f5; }
.review-state strong { color:var(--navy); font-family:"DM Serif Display",serif; font-size:1.32rem; }
.review-state p { margin:5px 0 0; color:var(--muted); font-size:.76rem; line-height:1.5; }
.state-dot { flex:0 0 10px; width:10px; height:10px; margin-top:7px; border-radius:50%; background:#be8c2c; box-shadow:0 0 0 5px rgba(190,140,44,.12); }
.state-paid { background:#2b805e; box-shadow:0 0 0 5px rgba(43,128,94,.12); }
.state-rejected { background:#b13d24; box-shadow:0 0 0 5px rgba(177,61,36,.12); }
.receipt-form { grid-template-columns:1fr; }
.file-field input { min-height:74px; padding:16px; background:#fff; }
.file-field small,.privacy-note { color:var(--muted); font-size:.68rem; font-weight:500; line-height:1.45; letter-spacing:0; text-transform:none; }
.privacy-note { margin-top:18px; }
.payment-page-error { margin:20vh auto 0; max-width:600px; border-radius:14px; padding:20px; background:#fff; text-align:center; }

.admin-content { margin-top:48px; }
.admin-toolbar { display:flex; align-items:end; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); padding-bottom:20px; }
.admin-toolbar > div { display:grid; gap:5px; }
.admin-toolbar span { color:var(--muted); font-size:.76rem; }
.admin-toolbar label { min-width:240px; }
.admin-search { min-width:310px; }
.admin-search input { min-height:42px; }
.order-card { overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--paper); box-shadow:0 10px 26px rgba(6,31,61,.06); }
.order-card > header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 20px; background:#eef3f5; }
.order-card > header > div:first-child { display:grid; gap:3px; }
.order-card > header span { color:var(--muted); font-size:.7rem; }
.order-statuses { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.status { border:1px solid var(--wine); border-radius:999px; color:var(--wine); padding:5px 9px; width:max-content; font-size:.63rem; font-weight:800; }
.status-receipt_submitted { border-color:#ad7918; color:#8a5e0c; background:#fff7dd; }
.status-paid { border-color:#2b805e; color:#206447; background:#e9f6ef; }
.status-rejected { border-color:#b13d24; color:#97301d; background:#fff0ec; }
.order-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); }
.order-grid section { display:grid; align-content:start; gap:5px; min-height:145px; padding:18px; background:var(--paper); }
.order-grid small { margin-bottom:5px; color:var(--blue); font-size:.59rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.order-grid span { color:var(--muted); font-size:.72rem; line-height:1.45; overflow-wrap:anywhere; }
.order-grid b { margin-top:4px; color:var(--blue); }
.receipt-button { grid-column:auto; width:max-content; min-height:34px; margin-top:7px; padding:7px 11px; background:var(--navy); font-size:.6rem; }
.missing-receipt { margin-top:8px; font-style:italic; }
.order-actions { display:flex; justify-content:flex-end; gap:9px; padding:12px 18px; }
.admin-action { grid-column:auto; width:auto; min-height:38px; padding:8px 13px; }
.reject-button { background:var(--wine); }
.cancel-button { background:#6c7781; }
.pickup-button { min-width:145px; background:#2b805e; }
dialog { width:min(520px,calc(100% - 28px)); border:0; border-radius:20px; padding:0; box-shadow:0 30px 90px rgba(6,31,61,.3); }
dialog::backdrop { background:rgba(6,31,61,.68); backdrop-filter:blur(4px); }
dialog form { position:relative; display:grid; grid-template-columns:1fr; margin:0; padding:32px; }
dialog h2 { font-size:2.6rem; }
dialog textarea { width:100%; border:0; border-radius:10px; padding:12px; outline:1px solid #d7e0e6; resize:vertical; font:inherit; background:#f4f7f8; }
.dialog-close { position:absolute; top:14px; right:14px; grid-column:auto; width:34px; min-height:34px; padding:0; border-radius:50%; color:var(--navy); background:#edf1f3; font-size:1.25rem; }
@media (max-width:950px) { .payment-layout { grid-template-columns:1fr; }.pix-card { min-height:auto; }.order-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:850px) { .hero,.product-section { grid-template-columns:1fr; }.hero-copy { min-height:500px; }.hero-art { min-height:450px; }.product-section { gap:46px; }.purchase-card { position:relative; top:auto; }.quote-banner { margin-bottom:62px; }.order-row { grid-template-columns:1fr 1fr; }.how-it-works { grid-template-columns:1fr; gap:35px; } }
@media (max-width:560px) { .store-shell,.admin-shell,.message,.payment-shell { width:min(100% - 24px,1220px); }.site-header { padding-bottom:20px; }.header-meta { gap:10px; }.header-meta span { display:none; }.wordmark { font-size:2rem; }.hero { border-radius:20px; }.hero-copy { min-height:445px; padding:50px 25px; }.hero-art { min-height:370px; padding:25px; }.art-frame { padding:14px; box-shadow:10px 10px 0 var(--orange); }.event-tag { top:28px; right:28px; }.quote-banner { grid-template-columns:1fr; gap:20px; margin:16px 0 60px; padding:24px; }.quote-banner img { max-height:none; }.product-section { gap:32px; }.purchase-card { padding:23px; border-radius:18px; }.price-line { align-items:start; flex-direction:column; gap:9px; } form { grid-template-columns:1fr; } label { grid-column:1/-1; }.closing-art { min-height:250px; margin-top:75px; padding:18px; border-radius:18px; } footer { align-items:flex-start; flex-direction:column; } .order-row { grid-template-columns:1fr; }.payment-layout { border-radius:19px; }.pix-card,.receipt-card { padding:38px 24px; }.pix-recipient { grid-template-columns:1fr; }.pix-key-box { grid-template-columns:1fr; }.copy-button { width:100%; }.order-summary,.admin-toolbar,.order-card > header { align-items:flex-start; flex-direction:column; }.admin-toolbar label { width:100%; min-width:0; }.order-grid { grid-template-columns:1fr; }.order-actions { align-items:stretch; flex-direction:column; }.admin-action { width:100%; }.steps { grid-template-columns:1fr; }.how-it-works { margin-top:75px; padding-top:35px; } }
