:root { --ink:#22211e; --muted:#74716a; --paper:#f7f5f0; --line:#dedbd2; --clay:#cd7457; --olive:#6d7653; --cream:#eee8dc; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--ink); font-family:'DM Sans',sans-serif; font-size:16px; } button,input,textarea,select { font:inherit; } button { cursor:pointer; } a { color:inherit; text-decoration:none; }.topline{height:6px;background:var(--clay)}
.site-header, main, footer { max-width:1280px; margin:auto; padding-left:40px; padding-right:40px; }.site-header { height:88px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }.brand { font-size:28px; line-height:1; letter-spacing:-2px; font-weight:600; }.brand span { font-family:'Playfair Display',serif; font-style:italic; font-weight:500; }.brand .brand-dot { color:var(--clay); font-family:inherit; font-style:normal; }.main-nav { display:flex; gap:32px; margin-left:85px; font-size:14px; }.main-nav a { color:var(--muted); }.main-nav a:hover, footer a:hover { color:var(--clay); }.admin-trigger { border:1px solid var(--ink); background:transparent; padding:10px 14px; font-size:13px; }.admin-trigger span { margin-left:10px; color:var(--clay); }
.hero { min-height:555px; position:relative; display:flex; padding:90px 0 75px; overflow:hidden; }.hero-copy { position:relative; z-index:2; width:59%; }.eyebrow { text-transform:uppercase; letter-spacing:1.35px; color:var(--clay); font-family:'DM Mono',monospace; font-size:11px; margin:0 0 22px; }.hero h1, h2 { font-family:'Playfair Display',serif; font-weight:500; letter-spacing:-2.5px; }.hero h1 { font-size:clamp(56px,7vw,92px); line-height:.97; margin:0; }.hero h1 em, h2 em { color:var(--clay); font-weight:500; }.intro { max-width:360px; color:var(--muted); line-height:1.6; margin:30px 0 25px; }.text-link { display:inline-flex; gap:18px; align-items:center; font-family:'DM Mono',monospace; font-size:12px; padding-bottom:5px; border-bottom:1px solid var(--ink); }.text-link span { color:var(--clay); font-size:17px; }.hero-note { align-self:flex-end; width:210px; position:relative; z-index:2; padding-bottom:23px; }.hero-note p { color:var(--muted); font-size:13px; line-height:1.55; }.note-line { display:block; width:38px; height:1px; background:var(--clay); margin-bottom:13px; }.hero-visual { position:absolute; right:20px; width:42%; height:100%; top:0; }.arch { position:absolute; bottom:0; border-radius:500px 500px 0 0; }.arch-one { width:265px; height:370px; background:#d7d1c5; right:70px; }.arch-two { width:230px; height:305px; background:#aeb39d; right:-30px; }.hero-sun { position:absolute; width:135px; height:135px; background:#e9c86e; border-radius:50%; top:80px; right:164px; }.hero-object { position:absolute; z-index:1; }.object-vase { bottom:45px; right:183px; width:75px; height:135px; background:#c8745d; border-radius:45% 45% 17% 17%; transform:rotate(4deg); }.object-vase:before { content:''; position:absolute; width:38px; height:37px; background:#c8745d; left:18px; top:-20px; border-radius:13px 13px 0 0; }.object-plant { width:110px; height:145px; bottom:94px; right:30px; border-left:2px solid #5e6a4b; transform:rotate(-14deg); }.object-plant:before,.object-plant:after { content:''; position:absolute; background:#65734f; width:48px; height:22px; border-radius:100% 0 100% 0; }.object-plant:before { top:16px; left:0; transform:rotate(-33deg); }.object-plant:after { top:56px; left:12px; transform:rotate(20deg); }
.catalogue { padding:100px 0 105px; border-top:1px solid var(--line); }.section-heading { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:42px; }.section-heading .eyebrow { margin-bottom:16px; }h2 { font-size:46px; margin:0; line-height:1; }.filters { display:flex; gap:18px; flex-wrap:wrap; justify-content:flex-end; }.filter { background:none; border:0; color:var(--muted); font-size:13px; padding:3px 0; }.filter.active { color:var(--ink); border-bottom:1px solid var(--ink); }.filter span { background:var(--cream); padding:2px 5px; font-size:10px; margin-left:4px; }.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:46px 24px; }.product-card { border:0; padding:0; text-align:left; background:none; position:relative; }.product-image { display:block; width:100%; aspect-ratio:1/.93; object-fit:cover; background:var(--cream); margin-bottom:15px; filter:saturate(.75); transition:transform .3s ease,filter .3s ease; }.product-card:hover .product-image { transform:translateY(-4px); filter:saturate(1); }.product-meta { display:flex; align-items:start; justify-content:space-between; gap:15px; }.product-name { font-family:'Playfair Display',serif; font-size:23px; margin:0 0 5px; letter-spacing:-.5px; }.product-condition { color:var(--muted); font-size:12px; }.product-price { font-family:'DM Mono',monospace; font-size:13px; white-space:nowrap; padding-top:5px; }.badge { position:absolute; top:11px; left:11px; z-index:1; background:var(--paper); padding:5px 8px; text-transform:uppercase; letter-spacing:.8px; font:10px 'DM Mono',monospace; }.badge.vendido { background:#3e4435; color:white; }.badge.reservado { background:#dbc275; }.empty-state { color:var(--muted); padding:30px 0; }.hidden { display:none !important; }
.about { background:var(--cream); padding:95px 10%; margin:0 -40px; }.about > .eyebrow { margin-bottom:35px; }.about-layout { display:grid; grid-template-columns:1.35fr .8fr; gap:85px; }.about h2 { font-size:55px; }.about-layout > div { color:var(--muted); line-height:1.65; }.about-layout > div p:first-child { margin-top:0; }.about .text-link { margin-top:18px; color:var(--ink); } footer { border-top:1px solid var(--line); min-height:115px; display:flex; align-items:center; justify-content:space-between; font-size:12px; color:var(--muted); }
dialog { border:0; padding:0; background:var(--paper); color:var(--ink); max-width:min(850px,92vw); max-height:90vh; overflow-y:auto; box-shadow:0 20px 80px rgba(0,0,0,.2); } dialog::backdrop { background:rgba(35,32,28,.5); backdrop-filter:blur(2px); }.close-dialog { position:absolute; z-index:3; top:13px; right:14px; height:44px; width:44px; border:0; border-radius:50%; background:var(--paper); font-size:26px; line-height:1; display:flex; align-items:center; justify-content:center; }.detail-layout { display:grid; grid-template-columns:1.1fr .9fr; }.detail-layout img { width:100%; height:100%; min-height:455px; object-fit:cover; }.detail-copy { padding:55px 48px; }.detail-copy h2 { margin:8px 0 12px; }.detail-price { font:16px 'DM Mono',monospace; }.detail-description { color:var(--muted); line-height:1.6; margin:28px 0; }.status-line { font:11px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:1px; }.status-line.disponible { color:var(--olive); }.buy-button,.primary-button { border:0; padding:15px 22px; background:var(--ink); color:white; font-size:13px; display:inline-block; }.buy-button[aria-disabled='true'] { opacity:.5; pointer-events:none; }.purchase-form { display:grid; gap:12px; margin-top:24px; }.purchase-form label { color:var(--muted); }.purchase-form input,.purchase-form textarea { background:#fbfaf6; }.purchase-form .buy-button { justify-self:start; margin-top:3px; }.form-feedback { margin:0; font-size:13px; line-height:1.4; }.form-feedback.success { color:var(--olive); }.form-feedback.error { color:#ad503d; }
.admin-dialog { width:min(780px,94vw); padding:45px; }.admin-header h2 { margin:0 0 10px; }.admin-header > p:last-child { color:var(--muted); font-size:13px; }.admin-tabs { border-bottom:1px solid var(--line); display:flex; gap:25px; margin:32px 0 26px; }.admin-tab { background:none; border:0; padding:0 0 10px; color:var(--muted); font-size:13px; }.admin-tab.active { color:var(--ink); border-bottom:2px solid var(--clay); }.item-form,.settings-form { display:grid; gap:15px; padding:20px; background:#efede7; }.form-title { display:flex; justify-content:space-between; align-items:center; }.form-title h3 { margin:0; font-family:'Playfair Display',serif; font-weight:500; font-size:23px; }.field-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; } label { display:grid; gap:7px; font-size:12px; } input,textarea,select { width:100%; border:1px solid #d2cfc6; background:#fbfaf6; padding:10px; outline-color:var(--clay); } textarea { resize:vertical; } small { color:var(--muted); line-height:1.45; }.primary-button { justify-self:start; margin-top:5px; }.small-button { border:0; background:none; color:var(--clay); font-size:12px; text-decoration:underline; }.admin-list { display:grid; gap:10px; margin-top:28px; }.admin-row { display:grid; grid-template-columns:55px 1fr auto auto; gap:14px; align-items:center; border-bottom:1px solid var(--line); padding:8px 0; }.admin-row img { width:55px; height:48px; object-fit:cover; }.admin-row p { margin:0; font-size:13px; }.admin-row small { font-size:11px; }.icon-button { border:0; background:none; color:var(--muted); font-size:12px; padding:6px; }.icon-button:hover { color:var(--clay); }
.auth-dialog{width:min(420px,92vw);padding:45px}.auth-dialog h2{margin:8px 0 28px}.auth-dialog form{display:grid;gap:16px}.auth-dialog .primary-button{justify-self:start}
.upload-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}.upload-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:white;padding:10px 14px;font-size:12px;cursor:pointer;white-space:nowrap;line-height:1}.upload-status{font-size:13px;color:var(--olive);white-space:nowrap}
@media(max-width:720px){.site-header,main,footer{padding-left:20px;padding-right:20px}.site-header{height:72px}.main-nav{display:none}.hero{min-height:auto;padding:36px 0 28px}.hero-copy{width:100%}.hero h1{font-size:46px}.intro{margin:12px 0 16px;font-size:15px}.hero-note{display:none}.hero-visual{display:none}.catalogue{padding:48px 0 68px}.section-heading{display:block}.filters{justify-content:flex-start;margin-top:28px;gap:15px}.product-grid{grid-template-columns:1fr 1fr;gap:32px 15px}.product-name{font-size:20px}.about{margin:0 -20px;padding:70px 20px}.about-layout{grid-template-columns:1fr;gap:28px}.about h2{font-size:42px}dialog{max-width:100vw;max-height:100dvh;width:100%;margin-top:0}.close-dialog{position:fixed;top:calc(env(safe-area-inset-top,0px) + 20px);right:16px;background:var(--paper);box-shadow:0 2px 8px rgba(0,0,0,.15)}.detail-layout{grid-template-columns:1fr}.detail-layout img{min-height:220px;height:220px}.detail-copy{padding:28px 20px}.admin-dialog{width:100vw;padding:20px 20px 40px}.auth-dialog{width:100vw;padding:28px 20px}.field-row{grid-template-columns:1fr}.admin-row{grid-template-columns:45px 1fr auto}.admin-row img{width:45px;height:42px}.admin-row .delete-item{grid-column:3}.admin-row .edit-item{grid-column:3;grid-row:1}.admin-row .delete-item{grid-row:2}.upload-row{grid-template-columns:1fr auto}footer{min-height:90px}}
