@font-face{font-family:Alviona;src:url('../assets/fonts/Alviona.ttf') format('truetype');font-display:swap}
@font-face{font-family:G20;src:url('../assets/fonts/Generic-G20-FR-Classic-DEMO.otf') format('opentype');font-display:swap}
@font-face{font-family:Jolly;src:url('../assets/fonts/jollygood-sans-basic.otf') format('opentype');font-display:swap}
@font-face{font-family:Galliard;src:url('../assets/fonts/ITC-Galliard-Roman.otf') format('opentype');font-display:swap}
:root{--cream:#f7efe6;--cream2:#fff9f0;--terracotta:#b9714d;--blue:#003a9b;--blue2:#062d7a;--line:#decbb9;--shadow:0 18px 50px rgba(66,44,30,.14);--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--blue);font-family:G20,Georgia,serif;min-height:100vh;padding-bottom:110px}.app{max-width:1120px;margin:0 auto;padding:18px}.hero{text-align:center;padding:20px 0 10px}.logo{width:min(360px,78vw);display:block;margin:0 auto 6px}.hero h1{font-family:Alviona,serif;color:var(--terracotta);font-size:clamp(42px,9vw,90px);font-weight:400;margin:8px 0 -2px;letter-spacing:.02em}.lead-title{font-family:Alviona;color:var(--terracotta);font-size:clamp(30px,6vw,56px);margin:18px 0 4px}.lead{max-width:680px;margin:0 auto 16px;color:var(--blue);font-size:18px;line-height:1.35}.toolbar{position:sticky;top:0;z-index:20;background:linear-gradient(var(--cream),rgba(247,239,230,.94));padding:14px 0 10px;backdrop-filter:blur(8px)}.search{display:flex;gap:10px;align-items:center;background:var(--cream2);border:1px solid var(--line);border-radius:999px;padding:11px 16px;box-shadow:0 10px 30px rgba(0,0,0,.05)}.search input{border:0;outline:0;background:transparent;width:100%;font-family:G20;color:var(--blue);font-size:17px}.chips{display:flex;overflow:auto;gap:9px;padding:12px 0 2px}.chip{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:var(--cream2);color:var(--blue);font-family:Jolly,Arial,sans-serif;text-transform:uppercase;font-size:14px;letter-spacing:.03em;cursor:pointer}.chip.active,.chip:hover{background:var(--blue);color:white;border-color:var(--blue)}.layout{display:grid;grid-template-columns:1fr 365px;gap:22px;align-items:start}.section{background:rgba(255,249,240,.65);border:1px solid var(--line);border-radius:var(--radius);margin:18px 0;overflow:hidden}.section-title{width:100%;background:transparent;border:0;display:flex;justify-content:space-between;align-items:center;padding:19px 20px;cursor:pointer;color:var(--terracotta);font-family:Alviona;font-size:38px;text-align:left}.section-title span:last-child{font-family:G20;color:var(--blue);font-size:20px}.grid{display:grid;gap:12px;padding:0 16px 18px}.card{background:var(--cream2);border:1px solid rgba(185,113,77,.25);border-radius:20px;padding:15px;box-shadow:0 8px 22px rgba(71,43,20,.06)}.card-head{display:grid;grid-template-columns:1fr auto;gap:12px}.name{font-family:Jolly,Arial,sans-serif;text-transform:uppercase;color:var(--terracotta);font-size:18px;letter-spacing:.02em;line-height:1.15}.desc{font-size:15px;line-height:1.28;margin-top:5px;color:var(--blue)}.price{font-family:G20;color:var(--blue);font-size:18px;white-space:nowrap}.options{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.opt{font-family:G20;font-size:14px;color:var(--blue);border:1px solid var(--line);border-radius:999px;padding:7px 10px;cursor:pointer;background:#fff}.opt input{margin-right:5px}.actions{display:flex;align-items:center;justify-content:space-between;margin-top:13px}.qty{display:flex;align-items:center;gap:8px}.round{width:34px;height:34px;border-radius:50%;border:0;background:var(--terracotta);color:white;font-size:20px;cursor:pointer}.count{min-width:26px;text-align:center;font-family:Jolly;color:var(--blue);font-size:18px}.add{border:0;border-radius:999px;background:var(--blue);color:white;padding:10px 14px;font-family:Jolly;text-transform:uppercase;cursor:pointer;letter-spacing:.03em}.side{position:sticky;top:120px}.box{background:var(--cream2);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);margin-bottom:16px}.box h2{font-family:Alviona;color:var(--terracotta);font-weight:400;font-size:36px;margin:0 0 10px}.cart-line{border-top:1px solid var(--line);padding:12px 0}.line-title{display:flex;justify-content:space-between;gap:10px}.line-name{font-family:Jolly;text-transform:uppercase;color:var(--terracotta)}.line-meta{font-size:14px;color:var(--blue);margin-top:4px}.line-actions{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.delete{border:0;background:transparent;color:var(--terracotta);font-family:Jolly;cursor:pointer;text-decoration:underline}.total{display:flex;justify-content:space-between;border-top:2px solid var(--terracotta);margin-top:12px;padding-top:12px;font-family:Jolly;color:var(--blue);font-size:22px;text-transform:uppercase}.form{display:grid;gap:10px}.field label{display:block;font-family:Jolly;color:var(--terracotta);text-transform:uppercase;font-size:14px;margin-bottom:4px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:14px;background:white;padding:12px;color:var(--blue);font-family:G20;font-size:16px}.field textarea{min-height:78px;resize:vertical}.err{display:none;color:#b00020;font-size:12px;margin-top:3px}.field.invalid .err{display:block}.field.invalid input,.field.invalid select{border-color:#b00020}.time-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.radio{border:1px solid var(--line);border-radius:14px;padding:10px;background:white;cursor:pointer}.radio input{margin-right:5px}.confirm{width:100%;border:0;background:var(--blue);color:white;border-radius:16px;padding:15px 18px;font-family:Jolly;text-transform:uppercase;font-size:16px;cursor:pointer;margin-top:12px}.confirm.secondary{background:var(--terracotta)}.floating{display:none;position:fixed;left:14px;right:14px;bottom:14px;z-index:40;background:var(--blue);color:white;border-radius:20px;padding:13px 16px;box-shadow:var(--shadow);align-items:center;justify-content:space-between;font-family:Jolly;text-transform:uppercase}.floating button{border:0;background:white;color:var(--blue);border-radius:999px;padding:8px 12px;font-family:Jolly}.modal{position:fixed;inset:0;background:rgba(0,0,0,.38);z-index:80;display:none;align-items:flex-end}.modal.open{display:flex}.modal-card{background:var(--cream);border-radius:28px 28px 0 0;width:100%;max-height:92vh;overflow:auto;padding:20px;box-shadow:var(--shadow)}.modal-inner{max-width:720px;margin:0 auto}.close{float:right;border:0;background:transparent;color:var(--terracotta);font-size:32px}.exec-formula{border:1px solid var(--line);border-radius:18px;padding:13px;margin:10px 0;background:var(--cream2);cursor:pointer}.exec-formula.active{outline:2px solid var(--blue)}.select-group{margin-top:14px}.select-group h3{font-family:Alviona;color:var(--terracotta);font-weight:400;font-size:30px;margin:15px 0 8px}.choice{display:block;background:white;border:1px solid var(--line);border-radius:14px;margin:7px 0;padding:10px}#toast{position:fixed;top:14px;left:50%;transform:translateX(-50%);background:var(--blue);color:white;border-radius:999px;padding:10px 16px;font-family:Jolly;z-index:100;opacity:0;pointer-events:none;transition:.25s}.empty{color:var(--blue);opacity:.75}.last-order{display:none}.last-order.show{display:block}.fav-empty{font-size:15px}.hidden{display:none!important}@media(max-width:860px){.layout{display:block}.side{position:static}.floating{display:flex}.app{padding:12px}.hero{padding-top:8px}.logo{width:min(300px,76vw)}.section-title{font-size:32px}.side .box:first-child{margin-bottom:90px}.toolbar{top:0}.card{padding:14px}.box{box-shadow:none}.time-row{grid-template-columns:1fr}}@media(min-width:861px){.catalog{min-width:0}}

/* V4 refinements */
.lead-title,.lead{font-family:Galliard, Georgia, serif;}
.desc,.price,.line-meta,.field input,.field select,.field textarea,.radio,.choice{font-family:Galliard, Georgia, serif;}
.lead-title{font-size:clamp(26px,5vw,46px);color:var(--blue);}
.lead{font-size:19px;}
.card-head{grid-template-columns:1fr auto;align-items:start;}
.name-row{display:flex;align-items:flex-start;gap:8px;justify-content:space-between;}
.fav-btn{border:0;background:transparent;color:var(--terracotta);font-size:20px;line-height:1;cursor:pointer;padding:0 0 0 8px;text-decoration:none;}
.delete{text-decoration:none;}
.actions{justify-content:space-between;align-items:flex-end;}
.add{background:transparent;color:var(--blue);border:1px solid var(--blue);border-radius:999px;padding:8px 14px;}
.add:hover{background:var(--blue);color:white;}
.card-price-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;}
.subhead{font-family:Jolly,Arial,sans-serif;color:var(--blue);text-transform:uppercase;letter-spacing:.04em;font-size:16px;margin:2px 0 10px;}
.box.form-box{padding-top:10px;}
.box.form-box h2{display:none;}
@media(max-width:860px){.card-head{grid-template-columns:1fr auto}.card-price-actions{align-items:flex-end}.actions{align-items:center}.lead-title{font-size:30px}.lead{font-size:17px}}

/* V5 final adjustments */
.card-price-actions .price{font-family:Galliard,Georgia,serif;}
.add{align-self:flex-end;}
.fav-btn:hover{transform:scale(1.08)}
.field input::placeholder,.field textarea::placeholder{font-family:Galliard,Georgia,serif;color:rgba(0,58,155,.58)}
@media(max-width:520px){.card-head{grid-template-columns:1fr auto;gap:10px}.price{font-size:16px}.add{font-size:12px;padding:7px 11px}.name{font-size:16px}}


/* V6 verified typography and product layout fixes */
.hero-title{font-family:Galliard, Georgia, serif !important;color:var(--blue);font-size:clamp(28px,5.4vw,48px);line-height:1.05;margin:18px 0 4px;font-weight:400;}
.lead{font-family:Galliard, Georgia, serif !important;font-size:19px;}
.section-title{font-family:Alviona, serif !important;}
.name,.line-name{font-family:Jolly, Arial, sans-serif !important;}
.desc,.price,.line-meta,.field input,.field select,.field textarea,.radio,.choice{font-family:Galliard, Georgia, serif !important;}
.name-row{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important;}
.fav-btn{font-family:Arial, Helvetica, sans-serif !important;font-size:22px!important;line-height:1!important;text-decoration:none!important;border:0!important;background:transparent!important;color:var(--terracotta)!important;padding:0 0 0 8px!important;margin:0!important;box-shadow:none!important;appearance:none!important;-webkit-appearance:none!important;}
.fav-btn::after{content:none!important;}
.card-head{display:grid!important;grid-template-columns:1fr auto!important;align-items:start!important;gap:14px!important;}
.card-price-actions{display:flex!important;flex-direction:column!important;align-items:flex-end!important;justify-content:flex-start!important;gap:10px!important;min-width:104px!important;}
.add{font-family:Jolly, Arial, sans-serif!important;align-self:flex-end!important;background:transparent!important;color:var(--blue)!important;border:1px solid var(--blue)!important;border-radius:999px!important;padding:8px 14px!important;text-transform:uppercase!important;letter-spacing:.035em!important;text-decoration:none!important;box-shadow:none!important;}
.add::after{content:none!important;}
@media(max-width:520px){.hero-title{font-size:30px}.card-price-actions{min-width:92px}.fav-btn{font-size:21px!important}}
