/*
  JULIA & WILL — BURGUNDY & CHAMPAGNE THEME
  This file sits AFTER style.css, so these settings override the original sage colours.
  You can edit any of the hex colours below and press Ctrl+S to preview.
  Need to undo? In index.html and admin.html remove this theme stylesheet link.
*/

:root {
  --sage: #7B344A;         /* Main accent buttons and headings */
  --sage-dark: #5C1D31;    /* Dark burgundy buttons */
  --cream: #FCF9F6;        /* Main page background */
  --ivory: #F4EAE7;        /* Soft blush ivory */
  --ink: #3D2B32;          /* Main text */
  --muted: #79686C;        /* Supporting text */
  --line: #E5D9D8;         /* Borders */
  --hero-top: #8B4658;     /* TOP-LEFT OF MAIN HERO — edit this! */
  --hero-bottom: #451626;  /* BOTTOM-RIGHT OF MAIN HERO — edit this! */
  --champagne: #EAD6B6;    /* Decorative champagne detail */
}

/* Large opening section — solid colour, without radial white highlights */
.hero { background: #5C1D31; }
.hero-border { border-color: #F1E0D180; outline-color: #F1E0D150; }
.sprig, .hero h1 em { color: var(--champagne); }

/* Navigation, buttons and small accents */
.brand span { color: #B88490; }
.topbar { border-bottom-color: #EEE2DF; }
.button:hover { background: #441626; }
.button-light { background: #FFFAF5; border-color: #FFFAF5; color: #5C1D31; }
.button-light:hover { background: #F4E5D8; }
.language-switch button { color: #6B3042; }
.language-switch button:focus-visible,
.button:focus-visible,
.topbar nav a:focus-visible { outline-color: #BE8D96; }

/* Main content and RSVP form */
.intro > p:not(.eyebrow) { color: #765E65; }
.divider-leaf { color: #BC8994; }
.details { background: #F7EFED; }
.detail-card { background: #FFFCFA; }
.detail-card .card-icon { color: #A76376; }
.rsvp-wrap form { box-shadow: 0 12px 45px #3B192014; }
.field label span, fieldset legend span { color: #8F4253; }
input[type=text], input[type=email], input[type=password], select, textarea {
  border-color: #D9C9CA; color: #3D2B32;
}
.privacy-note, .demo-note { color: #77656A; }
.demo-note { background: #F5EBDD; }

/* Photos and map */
.photo-moments, .directions { background: var(--cream); }
.photo-frame { background: linear-gradient(145deg, #EFDDDF, #D1B2B8); }
.photo-fallback { color: #673143; }
.photo-card figcaption { color: #785462; }
.map-shell { border-color: #E9DCDD; background: #F0E1E2; box-shadow: 0 12px 35px #3B192015; }

/* Footer and private dashboard */
footer { background: #4B192C; color: #FFF4ED; }
.admin-body { background: #FAF6F5; }
.note { color: #7F6D72; }
.guest-table th { background: #F0E3E5; }

/* V5: taxis and individual menu selections; keep original layout. */
.taxi-info{max-width:850px;margin:52px auto 0;padding-top:35px;border-top:1px solid var(--line)}
.taxi-info h3{font:clamp(29px,4vw,39px)/1.2 'Italiana',Georgia,serif;margin:10px 0;color:var(--ink)}
.taxi-intro{color:var(--muted);margin:10px auto 22px;max-width:570px}
.taxi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;text-align:left}
.taxi-card{padding:21px 24px;border:1px solid #E8D9D7;background:#FFFCFA}
.taxi-card h4{font-size:17px;color:#5C1D31;margin:0 0 6px}
.taxi-card p{color:var(--muted);font-size:13px;margin:0 0 10px}
.taxi-card a{font-size:19px;color:#6C2841;font-weight:700;text-underline-offset:4px}
.guest-meals{display:grid;gap:16px;margin:18px 0 29px}
.guest-meal-card{background:#FCF8F6;border:1px solid #E7D7D8;padding:clamp(15px,3vw,24px)}
.guest-meal-card h3{font-size:19px;color:#5C1D31;margin:0 0 8px}
.guest-meal-card .meal-helper{color:var(--muted);font-size:12px;margin:0 0 17px;line-height:1.5}
.meal-grid{display:grid;grid-template-columns:1fr;gap:3px}
.guest-meal-card .field{margin-bottom:15px}
.guest-meal-card select,.guest-meal-card input,.guest-meal-card textarea{width:100%;max-width:100%}
.guest-meal-card select{font-size:14px;white-space:nowrap;text-overflow:ellipsis}
.menu-info{margin:20px 0}.menu-info details{border:1px solid #E2CED1;background:#FFFDFB;padding:13px 17px}
.menu-info summary{color:#5C1D31;font-weight:700;cursor:pointer}
.menu-group{margin:18px 0}.menu-group h4{margin:0 0 10px;color:#5C1D31}
.menu-dish{margin:0 0 13px;padding-bottom:9px;border-bottom:1px solid #F1E6E7}
.menu-dish strong{font-size:13px}.menu-dish p{color:var(--muted);font-size:12px;margin:4px 0;line-height:1.5}
.meal-note{font-size:12px;line-height:1.6;color:var(--muted);margin:12px 0}
@media(max-width:620px){.taxi-grid{grid-template-columns:1fr}.taxi-card{padding:18px}}

/* V6 — BBQ and accommodation information cards */
.guest-information{background:#FFF9F6}
.guest-information-lead{max-width:600px;color:var(--muted);margin:0 auto 35px}
.info-card-grid{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;text-align:left}
.info-card{background:#FFFDFB;border:1px solid #E3D4D3;padding:clamp(28px,4.2vw,45px);position:relative;box-shadow:0 8px 26px #541E300A}
.info-card-icon{font:38px Georgia,serif;color:#9E6474;margin-bottom:14px}
.info-card-kicker{color:#8C435A;font-size:10px;font-weight:700;letter-spacing:.2em;margin:0 0 13px}
.info-card h3{font:clamp(33px,4vw,43px)/1.2 'Italiana',Georgia,serif;color:#5C1D31;margin:0 0 20px}
.info-card > p:not(.info-card-kicker):not(.info-card-note){color:#68535A;line-height:1.8;font-size:15px;min-height:105px}
.info-card-note{display:inline-block;margin:12px 0 0;padding:9px 13px;background:#F6EAEB;border:1px solid #EBD9D8;color:#7C384F;font-size:12px;font-weight:600}
.arrival-question{margin-bottom:25px}
.arrival-hint{display:block;font-size:12px;color:var(--muted);margin-top:11px;line-height:1.6}
@media(max-width:720px){.info-card-grid{grid-template-columns:1fr;gap:14px}.info-card > p:not(.info-card-kicker):not(.info-card-note){min-height:0}}

/* V7 - Simple, bilingual accommodation enquiry in the RSVP */
.room-interest{margin:22px 0 30px;padding:22px 19px;border:1px solid #E5D4D4;background:#FFF9F7}
.room-interest legend{float:none;width:100%;padding:0;margin-bottom:12px}
.room-interest .choice{background:#FFFDFB}
.room-interest .arrival-hint{margin:11px 2px 0}
.room-count-field{margin:22px 0 0;padding-top:17px;border-top:1px solid #E9DCDA}
.room-count-field label{font-size:13px;font-weight:700}
@media(max-width:520px){.room-interest{padding:17px 13px}}

/* V8 - BBQ feast: compact bilingual menu, preserving the V7 layout. */
.bbq-offerings{border-top:1px solid #e8d7d7;margin:19px 0 5px;padding-top:19px}
.bbq-offerings h4{font-size:12px;letter-spacing:.17em;text-transform:uppercase;color:#7b344a;margin:0 0 12px}
.bbq-grill-list{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.bbq-grill-list li{color:#5c1d31;background:#f8edeb;border:1px solid #e5cccd;border-radius:30px;padding:8px 13px;font-size:13px;font-weight:600}
.bbq-sides-pending{margin:0 0 8px;color:#79686c;line-height:1.65;font-size:14px;font-style:italic}
@media(max-width:480px){.bbq-grill-list li{padding:7px 10px;font-size:12px}}


/* V9 — Complete BBQ feast menu with all five grill dishes and eight sides. */
@media(min-width:790px){.info-card-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr)}}
.bbq-offerings{border-top:1px solid #e8d7d7;margin:24px 0 6px;padding-top:20px}
.bbq-offerings h4{font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:#7b344a;margin:0 0 12px}
.bbq-menu-list{list-style:none;margin:0 0 23px;padding:0;display:grid;gap:8px}
.bbq-grill-list{display:grid;grid-template-columns:1fr;gap:8px}
.bbq-menu-list li{background:#fcf5f3;border:1px solid #e9d8d6;padding:11px 13px 11px 31px;position:relative;border-radius:3px;font-size:13px;line-height:1.55;font-weight:500;color:#4f2b36}
.bbq-menu-list li:before{content:'✦';position:absolute;left:12px;top:10px;font-size:12px;color:#a8677b}
.bbq-sides-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.bbq-dietary-note{margin:4px 0 10px;color:#78656b;font-size:12px;line-height:1.65}
@media(max-width:520px){.bbq-sides-list{grid-template-columns:1fr}.bbq-menu-list li{padding:10px 11px 10px 27px;font-size:12px}.bbq-menu-list li:before{left:10px}}

/* V9.1: Balance the wedding details section after removing its third card. */
.details .detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 760px; }
@media (max-width: 720px) { .details .detail-grid { grid-template-columns: 1fr; max-width: 430px; } }

/* V10 — Guest photo sharing in The celebration */
.guest-photo-share{max-width:1000px;margin:52px auto 0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:0;text-align:left;background:#fffaf7;border:1px solid #e2cdcf;box-shadow:0 16px 36px #5c1d3110}
.guest-photo-intro{background:#5c1d31;color:#fff8f0;padding:clamp(27px,4vw,48px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.guest-photo-intro .eyebrow{color:#ead6b6;text-align:left;margin:0 0 13px;font-size:10px}
.guest-photo-symbol{font:46px Georgia,serif;color:#e6bbbe;line-height:1;margin-bottom:16px}
.guest-photo-intro h3{font:clamp(30px,4vw,45px)/1.2 'Italiana',Georgia,serif;color:#fffaf6;margin:0 0 20px}
.guest-photo-intro p:not(.eyebrow){font-size:15px;line-height:1.8;margin:0 0 16px;color:#fff0ec}
.guest-photo-intro .guest-photo-privacy{font-size:12px!important;color:#f2ced7!important;border-top:1px solid #ffffff38;padding-top:15px;margin-top:6px!important}
.guest-photo-panel{padding:clamp(24px,4vw,39px);background:#fffaf8}
.guest-photo-form .field{margin-bottom:18px}
.guest-photo-form .field label{font-size:13px;display:block;margin-bottom:9px;color:#552336;font-weight:700}
.guest-photo-form .field input[type=text]{width:100%;padding:12px 14px}
.guest-photo-form input[type=file]{display:block;width:100%;font-size:13px;color:#513440;background:#fff;border:1px dashed #b68896;border-radius:3px;padding:13px;cursor:pointer}
.guest-photo-form input[type=file]::file-selector-button{background:#f3e3e4;color:#5c1d31;border:1px solid #e0c7ce;border-radius:2px;padding:8px 12px;margin-right:12px;cursor:pointer;font-weight:600}
.guest-photo-form small{display:block;font-size:12px;line-height:1.6;color:#79686c;margin-top:9px}
.guest-photo-preview:not([hidden]){display:flex;justify-content:center;padding:9px;background:#f8eeed;border:1px solid #e7d1d5;margin:12px 0}
.guest-photo-preview img{display:block;max-width:100%;max-height:230px;object-fit:contain;border-radius:2px}
.guest-photo-consent{display:flex;gap:10px;align-items:flex-start;color:#66515a;font-size:12px;line-height:1.6;margin:23px 0;cursor:pointer}
.guest-photo-consent input{margin-top:3px;accent-color:#5c1d31;flex:none}
.guest-photo-submit{margin:0;max-width:100%}
.guest-photo-demo{background:#f5e9e6;border-left:3px solid #9e6075;padding:10px 13px;color:#62404b;font-size:12px;line-height:1.5;margin:17px 0 0}
.guest-photo-form #guestPhotoStatus{margin-top:16px}
.guest-photo-not-live{background:#f5e9e6;color:#5c1d31;padding:23px;line-height:1.7}
.guest-photo-not-live p{margin:0}
.guest-photo-review{margin:40px 0 0;padding-top:20px;border-top:1px solid #e3d4d3}
.guest-photo-review h2{font:30px 'Italiana',Georgia,serif;color:#5c1d31}
.guest-photo-review .note{margin-bottom:20px}
.guest-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:16px}
.guest-photo-item{padding:12px;border:1px solid #ead7da;background:white;min-width:0}
.guest-photo-item img{width:100%;height:175px;object-fit:cover;display:block;background:#f5e9e6}
.guest-photo-item h3{font-size:14px;color:#5c1d31;overflow-wrap:anywhere;margin:12px 0 4px}
.guest-photo-item small{display:block;color:#79686c;font-size:11px;margin:0 0 11px}
.guest-photo-item .guest-photo-controls{display:flex;gap:10px;flex-wrap:wrap}
.guest-photo-item a,.guest-photo-item button{background:none;border:0;padding:0;font-size:12px;color:#6c2841;text-decoration:underline;cursor:pointer}
@media(max-width:750px){.guest-photo-share{grid-template-columns:1fr;margin-top:37px}.guest-photo-intro{padding:30px}.guest-photo-panel{padding:25px}}

/* Live launch: invitation code fields */
.invite-field{background:#faf5f2;border:1px solid #ead2d7;border-radius:8px;padding:15px;margin:14px 0 22px}.invite-field small{display:block;margin-top:8px;color:#665962;line-height:1.5}
