/* Reception-only presentation. Form IDs, authentication and API behavior stay unchanged. */
:root {
  --ink: #263c33;
  --green: #23483c;
  --lime: #f6d990;
  --muted: #656151;
  --line: #c8b68f;
  --bg: #182d25;
  --brass: #af8847;
  --paper: #faf5e9;
  --metal: linear-gradient(115deg, #bd9c61, #f3e3b9 23%, #dfc58c 49%, #f5e8c6 75%, #c3a268);
  --enamel: linear-gradient(120deg, #36594b, #18392f 57%, #2b4b3d);
  --raised: inset 0 1px 0 #fff9dfaa, inset 0 0 0 3px #fff6cf26, 0 3px 0 #816338, 0 6px 11px #15180e24;
}
body { position: relative; isolation: isolate; background: #182d25; }
.reception-scene, body::before { position: fixed; inset: 0; pointer-events: none; }
.reception-scene { z-index: -2; }
.reception-scene img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
body::before { content: ""; z-index: -1; background: linear-gradient(180deg, #071a12a6, #0e20164d 48%, #071a12b3); }
body > header {
  height: 94px; background: linear-gradient(110deg, #102e26f2, #28473bed, #142d25f2);
  border-bottom: 1px solid #bd9b5c; box-shadow: 0 4px 18px #0b170e4d;
}
.brand { color: #fff1d0; letter-spacing: .05em; font-weight: 700; }
.brand span { color: #d8bc82; letter-spacing: .25em; margin-top: -2px; }
header nav { height: auto; align-items: center; gap: 8px; }
.nav { min-height: 46px; padding: 10px 18px; border: 1px solid #b497625c; border-radius: 3px; color: #f4e8cb; background: #102b225c; }
.nav.active { background: var(--metal); color: #2f3020; border: 1px solid #ddc18a; box-shadow: var(--raised); }
.demo { background: #10291fe8; color: #eddfbe; border-bottom: 1px solid #bd9b5c66; line-height: 1.6; }
main { padding-top: 24px; padding-bottom: 48px; }
.heading { color: #fff6e1; margin-bottom: 24px; text-shadow: 0 2px 8px #102417; }
.heading .eyebrow { color: #f0d294; letter-spacing: .18em; }
.heading h1 { font-weight: 700; letter-spacing: .025em; margin: 10px 0; }
.heading p { color: #fff2d6; line-height: 1.7; margin-bottom: 0; }
.heading::after { content: ""; display: block; width: 116px; height: 5px; margin-top: 18px; border-block: 1px solid #d2b378; }
.layout { gap: 24px; }
.panel, .guide, .stat {
  position: relative; background: linear-gradient(120deg, #fffaf0f7, #f0e7d5f7);
  border: 1px solid #c4a46a; border-radius: 5px;
  box-shadow: inset 0 0 0 4px #fff8e5a6, inset 0 0 0 5px #b59a6040, 0 4px 0 #5a462a66, 0 12px 26px #101c1733;
}
.panel { padding: 28px; margin-bottom: 20px; }
.sectionhead { padding-bottom: 16px; border-bottom: 1px solid var(--line); margin-bottom: 20px; align-items: center; }
.sectionhead h2 { font-weight: 700; line-height: 1.6; }
.number { background: var(--metal); color: #443519; border: 1px solid #b48b45; border-radius: 2px; box-shadow: inset 0 0 0 2px #fff6d9a6, 0 2px 2px #4c37151a; width: 32px; height: 34px; font-size: 14px; }
.sectionhead .number { flex-basis: 32px; }
.small, .optional { color: #6a6250; }
.categories { margin-bottom: 24px; }
.category, .product { background: linear-gradient(125deg, #fffaf0, #eae0cc); border: 1px solid #b6a17b; border-radius: 4px; box-shadow: inset 0 1px 0 #fff, 0 3px 0 #ad956d55; }
.category { gap: 10px; padding: 16px; }
.category.selected, .product.selected { background: var(--enamel); border-color: #c2a060; color: #fff3d6; box-shadow: inset 0 0 0 2px #e6cb8e, inset 0 0 18px #091f1755, 0 3px 0 #7e6539; }
.category small, .category-count, .product p { color: #68604d; }
.category.selected small, .category.selected .category-count, .product.selected p { color: #f0dfb8; }
.category-icon { display: grid; place-items: center; flex: 0 0 30px; }
.category-icon svg { width: 30px; height: 34px; stroke: currentColor; fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.category-count { font-size: 12px; }
.product svg { stroke: currentColor; }
.product.selected h3 { color: #fff5dd; }
.product { min-width: 0; }
.stepper { background: #fff9eb; border: 1px solid #c4a368; border-radius: 3px; box-shadow: inset 0 1px 3px #72572b26; color: #263c33; }
.stepper button { color: #263c33; border-radius: 2px; flex: 1 1 0; }
.stepper button:disabled { color: #8d8575; }
.stepper output { flex-shrink: 0; }
label { font-weight: 600; }
em { color: #8b263b; }
input:not([type=checkbox],[type=radio]), textarea, select {
  background: linear-gradient(#fffdf7, #fff9ec); color: #21392f;
  border-color: #af9c76; border-radius: 3px; box-shadow: inset 0 2px 3px #6a542b12;
}
input::placeholder, textarea::placeholder { color: #756d5d; opacity: 1; }
input[readonly] { background: #eae3d3 !important; color: #3f493a; }
input[type=radio], input[type=checkbox] { accent-color: #7b3543; }
.segments label { border-color: #bba57d; border-radius: 3px; background: #fff9ed; }
.segments label:has(input:checked) { color: #fff4dc; background: var(--enamel); border-color: #d8b978; box-shadow: inset 0 0 0 1px #dfc58d; }
.segments input { accent-color: #e6ca91; }
.pricing-notice, .photo-upload .product-photo-label { background: linear-gradient(110deg, #f3e4c1, #f9f0dd); border-color: #b9924d; color: #574022; border-radius: 3px; }
.pricing-notice strong { color: #64491d; }
.product-photo-label .optional { color: #665332; }
.photo-upload input[type=file] { background: #f2e9d6; padding: 10px; }
.photo-upload input::file-selector-button { min-height: 44px; background: var(--metal); border-color: #aa8648; border-radius: 3px; color: #3d321d; }
.primary, .secondary, .expand-record, .date-presets button, #openPrice, #priceDialog button {
  border: 1px solid #b3955b; border-radius: 3px; font-weight: 700;
  box-shadow: var(--raised); transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.secondary, .expand-record, .date-presets button, #openPrice, #priceDialog button { background: var(--metal); color: #3b3524; }
.primary { background: var(--enamel); color: #fff4d8; }
.primary:hover { background: var(--enamel); }
.submit { background: linear-gradient(115deg, #833f49, #51232f 56%, #713440); color: #fff5df; border-color: #d1ad6c; min-height: 60px; padding-inline: 24px; }
.submit:hover { background: linear-gradient(115deg, #914750, #5b2934 56%, #7e3b47); }
.submit span { color: #ffe4a8; }
.actions a.secondary { display: grid; place-items: center; text-align: center; text-decoration: none; }
.date-presets button.active { background: var(--enamel); border-color: #bb9857; color: #fff1cf; }
.estimate { background: linear-gradient(130deg, #355649f2, #17372df7 52%, #29483bed); color: #fff4db; border: 1px solid #c7a86c; border-radius: 5px; box-shadow: inset 0 0 0 4px #172b21, inset 0 0 0 5px #b79a6066, 0 4px 0 #68533399, 0 12px 26px #101c1740; padding: 26px; }
.estimate .eyebrow { color: #e2c388; }
.estimate h2 { margin: 7px 0 18px; }
.estimate p, .billrow, .cost-breakdown>div, .total>span { color: #e9dfc6; }
.estimate p.estimate-notice { color: #523e23; background: linear-gradient(125deg, #f6e8c8, #e5d1a8); border-color: #ccaf73; border-radius: 3px; }
.cost-breakdown, .estimate .total { border-color: #bda36a80; }
.total strong { color: #fff0c6; }
.coupon-controls { background: #112b22a6; border-color: #ac925f80; border-radius: 3px; }
.coupon-controls label, .coupon-controls label>span { color: #f5e7c6; }
.coupon-controls .instagram-coupon small { color: #f6d990; }
.instagram-coupon input { accent-color: #d7b675; }
.guide { padding: 20px; margin-top: 20px; }
.guide h3 { margin: 0 0 18px; }
.guide ol { margin: 0; }
.guide li::before { background: var(--metal); border-color: #bba16e; color: #433920; border-radius: 2px; }
.guide li:not(:last-child)::after { background: #bba16e; }
.guide li:last-child { padding-bottom: 12px; }
.addressnote a, .panel a { color: #743348; text-underline-offset: 3px; }
.panel summary { cursor: pointer; font-weight: 700; min-height: 32px; align-content: center; }
.panel details p, details.panel p { font-size: 14px; }
.consent { color: #fff4dc; background: #15352ce8; border: 1px solid #ba9b60; border-radius: 3px; padding: 14px 16px; margin: 0 0 18px; }
.consent input { accent-color: #d8b878; }
#error:not(:empty), #photoError:not(:empty), #dateError:not(:empty), #authError:not(:empty) { background: #fff3e6; color: #8a2636; border-left: 3px solid #9a3e4c; padding: 10px 12px; line-height: 1.65; }
#adminMessage:not(:empty), #copyResult:not(:empty) { color: #fff1cf; background: #19392df2; padding: 10px 14px; border: 1px solid #bd9d60; border-radius: 3px; }
#adminMessage:empty { display: none; }
#adminContent>.actions { flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 24px; }
#adminMessage { flex-basis: 100%; }
#adminContent>.actions:last-child { background: #19392dec; border: 1px solid #b69b62; padding: 16px; border-radius: 4px; color: #fff1d2; }
#pageLabel { text-align: center; min-width: 64px; }
.narrow { margin-inline: auto; }
#lookup>.heading, #admin>.heading { text-align: center; }
#lookup>.heading::after, #admin>.heading::after { margin-inline: auto; }
#lookupResult:not(:empty) { border-top: 1px solid #bba476; padding-top: 18px; margin-top: 24px; }
.stat { border-radius: 4px; }
.stat strong { color: #274639; }
.tag { color: #775b2c; }
.record-details { background: #f0e5cf; border: 1px solid #c1aa7c; border-radius: 3px; }
.badge { color: #fff1d0; background: var(--enamel); border: 1px solid #bba16c; border-radius: 2px; padding: 4px 10px; }
.successhead { color: #fff4da; text-shadow: 0 2px 7px #102417; }
.tick { background: var(--metal); border: 1px solid #c6a564; color: #254436; box-shadow: inset 0 0 0 4px #fff2ce7a, 0 3px 0 #7e6438; }
.receiptid { color: #314e3e; }
.successwrap>.actions { flex-wrap: wrap; }
#addressSearchPanel { border-color: #b39865; background: #fffaf0; border-radius: 3px; }
.contact { margin-block: 20px 40px; }
.contact h2 { color: #fff3d6; text-shadow: 0 2px 6px #092016, 0 0 18px #092016; }
.contact .contact-links a, .contact .contact-links a.contact-instagram {
  min-height: 98px; background: var(--metal); border: 1px solid #d2b27b; border-radius: 4px;
  color: #2c3a2d; box-shadow: var(--raised); text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.contact .contact-links a.contact-instagram { background: linear-gradient(120deg, #e9bdac, #f2dcca 34%, #dac1b5 68%, #e5c7ac); }
.contact .contact-links .contact-offer { width: max-content; max-width: calc(100% - 20px); bottom: 7px; padding: 2px 7px; font-size: 11px; background: linear-gradient(115deg, #f8e0c4, #f9edda, #eecdbb); color: #713948; border: 1px solid #b99272; border-radius: 2px; box-shadow: inset 0 1px #fff9e7, 0 1px 3px #432c1f30; }
footer { color: #f5e4bf; border-color: #c3a166; text-shadow: 0 2px 6px #122d20; }
footer b { color: #fff1d0; }
#priceDialog { background: #f8f0df; border: 1px solid #c6a367; border-radius: 5px; box-shadow: 0 18px 60px #0008; }
#priceDialog::backdrop { background: #10271fcc; }
.price-toolbar { background: var(--enamel); color: #fff2d2; border-bottom: 1px solid #b89b65; }
.price-toolbar h2 span { color: #e6cf9f; }
.price-image-area { background: #e7dbc2; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible { outline: 3px solid #ad7435; outline-offset: 3px; }
header button:focus-visible, header .brand:focus-visible, .consent input:focus-visible, .estimate input:focus-visible { outline-color: #ffe3a0; }
button:disabled { cursor: not-allowed; filter: saturate(.25); }
.primary:disabled, .secondary:disabled { background: #d8cfbb; color: #625d50; border-color: #a99c7e; box-shadow: inset 0 1px 3px #604c2820; transform: none; }
@media (hover: hover) {
  .nav:hover:not(.active) { background: #39574a; color: #fff4d8; }
  .category:hover:not(.selected), .stepper button:hover:not(:disabled) { background: #f0dfba; }
  .primary:hover:not(:disabled), .secondary:hover:not(:disabled), .expand-record:hover, .date-presets button:hover, #openPrice:hover, #priceDialog button:hover,
  .contact .contact-links a:hover, .contact .contact-links a.contact-instagram:hover { transform: translateY(-2px); box-shadow: inset 0 1px 0 #fff9dfaa, inset 0 0 0 3px #fff6cf26, 0 5px 0 #816338, 0 10px 17px #15180e33; filter: brightness(1.06); }
}
.primary:active:not(:disabled), .secondary:active:not(:disabled), .expand-record:active, #openPrice:active { transform: translateY(2px); box-shadow: inset 0 1px 3px #31261333, 0 1px 0 #816338; }
@media (max-width: 1050px) and (min-width: 901px) { .layout { gap: 18px; } .panel { padding: 22px 18px; } .estimate { padding: 22px; } }
@media (max-width: 900px) {
  body>header { height: auto; min-height: 100px; padding-block: 14px; }
  header nav { margin-top: 0; }
  main { padding-top: 20px; }
  .guide { padding: 22px; }
  .guide ol { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .guide li { padding-left: 32px; }
  .estimate { margin-bottom: 20px; }
}
@media (max-width: 520px) {
  body>header { padding: 15px 5% 17px; }
  header nav { margin-top: 16px; gap: 6px; height: auto; }
  .nav { padding: 10px 3px; font-size: 13px; }
  .demo { text-align: center; padding: 9px 5%; }
  main { padding-top: 16px; padding-bottom: 30px; }
  .heading { margin-bottom: 22px; }
  .heading h1 { font-size: 26px; letter-spacing: 0; }
  .heading p { font-size: 14px; }
  .heading::after { margin-top: 14px; }
  .panel { padding: 20px 16px; }
  .sectionhead { gap: 9px; padding-bottom: 13px; margin-bottom: 18px; }
  .sectionhead h2 { font-size: 17px; }
  .category { padding: 12px 10px; gap: 6px; }
  .category-icon { flex-basis: 25px; }
  .category-icon svg { width: 25px; height: 29px; }
  .category strong { font-size: 14px; }
  .category-count { font-size: 12px; }
  .product { padding: 14px 4px 10px; }
  .product h3 { font-size: 14px; }
  .stepper button { min-width: 24px; width: 26px; }
  .segments label { padding: 12px 8px; font-size: 13px; }
  .photo-upload .product-photo-label { padding: 12px; font-size: 15px; }
  .estimate { padding: 22px 18px; }
  .guide { padding: 22px 18px; }
  .guide ol { grid-template-columns: 1fr; gap: 0; }
  .consent { font-size: 13px; padding: 13px 12px; }
  .submit { padding: 16px 18px; }
  .stat { padding: 14px 9px; }
  .stat span { font-size: 12px; }
  #adminContent>.actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  #adminContent>.actions>button { padding: 12px 6px; font-size: 14px; }
  #adminContent>.actions>#logoutAdmin { grid-column: 1 / -1; }
  #adminContent>.actions>#adminMessage { grid-column: 1 / -1; }
  #adminContent>.actions:last-child { display: flex; flex-direction: row; padding: 12px; }
  .record-details { padding: 16px 10px; }
  .receipt dl, .record-details .receipt dl { grid-template-columns: 90px minmax(0,1fr); gap: 12px 8px; }
  .successwrap>.actions { display: flex; flex-direction: column; }
  .contact .contact-links { gap: 14px 10px; }
  .contact .contact-links a, .contact .contact-links a.contact-instagram { min-height: 98px; grid-template-columns: 20px minmax(0,1fr); column-gap: 5px; padding: 10px; font-size: 13px; }
  .contact .contact-links a>svg { width: 20px; height: 20px; }
  .contact .contact-links a>span:not(.contact-offer) { white-space: normal; }
  .contact .contact-links .contact-offer { max-width: calc(100% - 12px); font-size: 10px; padding: 2px 4px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  button, .category, .product, .contact .contact-links a { transition: none !important; }
}
