/**
 * File: assets/css/product.css
 * Package: MICROBA PRODUCT
 * Version: 2.8.4
 * Release Date: 2026-08-21
 * Theme owns global Header/Footer/background. PRODUCT owns only the Product content.
 */
.product-moment-page {
  --pg: var(--microba-gold, #d9a93a);
  --pg2: #f0c766;
  --pt: var(--color-text-inverse, #f7f1e6);
  --pm: var(--color-text-secondary, #c8c0b4);
  --pd: var(--color-text-muted, #918a80);
  --pl: rgba(217,169,58,.34);
  --glass: rgba(0,0,0,.10);
  color: var(--pt);
  background: transparent;
  font-family: var(--font-interface, Arial, Helvetica, sans-serif);
  padding: clamp(24px,4vw,54px) 0 70px;
}
.product-moment-page *, .product-moment-page *::before, .product-moment-page *::after { box-sizing:border-box; }
.product-shell { width:min(1500px,calc(100% - 40px)); margin-inline:auto; }
.product-eyebrow { margin:0; color:var(--pg); font-size:.76rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
.product-notice { margin:0 0 18px; padding:13px 16px; border:1px solid var(--pl); border-radius:12px; background:rgba(217,169,58,.07); }

.product-moment-hero { display:grid; grid-template-columns:minmax(0,.95fr) minmax(430px,1.05fr); gap:clamp(28px,5vw,72px); align-items:start; }
.product-moment-hero__copy { padding:clamp(18px,2vw,30px) 0; }
.product-moment-hero h1 { margin:.35rem 0 .25rem; font-family:var(--font-display,Georgia,serif); font-size:clamp(4rem,7vw,7.4rem); line-height:.84; letter-spacing:-.035em; font-weight:400; color:var(--pg2); }
.product-moment-hero h1 span { display:block; }
.product-hero-statement { margin:1rem 0; font-family:var(--font-display,Georgia,serif); font-size:clamp(1.5rem,2vw,2rem); color:#fff; }
.product-hero-description { max-width:640px; margin:0; color:var(--pm); font-size:clamp(1.05rem,1.35vw,1.22rem); line-height:1.65; }
.product-hero-description strong { color:var(--pg2); font-weight:600; }

.product-context-icons { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:28px 0; }
.product-context-icons div { text-align:center; min-width:0; }
.product-context-icons span { display:grid; place-items:center; width:56px; height:56px; margin:0 auto 9px; border:1px solid var(--pg); border-radius:50%; color:var(--pg2); font-size:1.6rem; }
.product-context-icons strong { display:block; color:var(--pt); font-size:.84rem; font-weight:500; line-height:1.25; }
.product-no-goods { display:flex; gap:14px; align-items:center; max-width:620px; padding:15px 17px; border:1px solid var(--pg); border-radius:10px; background:rgba(217,169,58,.04); }
.product-no-goods>span { color:var(--pg2); font-size:1.8rem; }
.product-no-goods p { margin:0; color:var(--pm); line-height:1.45; }
.product-no-goods strong { color:var(--pg2); }

.product-secondary-button, .product-primary-button { text-decoration:none; }
.product-secondary-button { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; margin:18px 0 20px; min-width:min(100%,410px); min-height:52px; padding:0 20px; border:1px solid var(--pg); border-radius:8px; color:#181207; background:linear-gradient(180deg,#efc765,#bd872a); font-size:.86rem; font-weight:700; text-transform:uppercase; letter-spacing:.035em; }

.product-purchase-form { margin-top:4px; }
.product-info-card { border:1px solid var(--pl); border-radius:14px; padding:18px; background:linear-gradient(155deg,rgba(4,7,5,.52),rgba(0,0,0,.18)); box-shadow:0 18px 50px rgba(0,0,0,.15); }
.product-info-card__heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.product-member-chip { padding:5px 9px; border:1px solid rgba(92,185,102,.45); border-radius:999px; color:#8bd58f; font-size:.72rem; }
.product-mode-switch { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-bottom:15px; }
.product-mode-option { min-height:70px; padding:11px 12px; text-align:left; border:1px solid rgba(217,169,58,.18); border-radius:9px; background:rgba(0,0,0,.12); color:var(--pt); cursor:pointer; }
.product-mode-option strong,.product-mode-option small { display:block; }
.product-mode-option strong { font-size:.84rem; }
.product-mode-option small { margin-top:5px; color:var(--pd); font-size:.72rem; line-height:1.35; }
.product-mode-option.is-active { border-color:var(--pg); background:rgba(217,169,58,.08); }
.product-mode-option:disabled { opacity:.45; cursor:not-allowed; }
.product-inline-note,.product-location-status,.product-form-privacy { color:var(--pd); font-size:.74rem; line-height:1.45; }
.product-manual-fields,.product-profile-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px 14px; }
.product-manual-fields[hidden],.product-profile-fields[hidden] { display:none; }
.product-manual-fields label,.product-profile-fields label { display:grid; gap:6px; }
.product-manual-fields label>span,.product-profile-fields label>span { font-size:.78rem; color:var(--pm); }
.product-manual-fields input,.product-manual-fields select,.product-profile-fields select { width:100%; min-height:42px; border:1px solid rgba(217,169,58,.18); border-radius:7px; background:rgba(0,0,0,.18); color:var(--pt); padding:0 11px; font:inherit; font-size:.82rem; }
.product-manual-fields input::placeholder { color:#777168; }
.product-location-status { grid-column:1/-1; margin:0; }

.product-guest-location-search,.product-guest-location-manual,.product-guest-location-preview { grid-column:1/-1; }
.product-guest-location-search { position:relative; display:grid; gap:6px; }
.product-guest-location-search[hidden],.product-guest-location-manual[hidden],.product-guest-location-preview[hidden] { display:none!important; }
.product-guest-location-manual { display:grid; grid-template-columns:1fr 1fr; gap:12px 14px; padding:12px; border:1px solid rgba(217,169,58,.12); border-radius:9px; background:rgba(0,0,0,.08); }
.product-guest-location-suggestions { position:absolute; z-index:50; top:70px; left:0; right:0; max-height:290px; overflow:auto; padding:6px; border:1px solid rgba(217,169,58,.42); border-radius:10px; background:rgba(7,7,7,.98); box-shadow:0 22px 54px rgba(0,0,0,.48); backdrop-filter:blur(18px); }
.product-guest-location-suggestions[hidden] { display:none!important; }
.product-guest-location-suggestion { display:grid; width:100%; gap:3px; padding:11px 12px; border:0; border-radius:8px; background:transparent; color:var(--pt); text-align:left; cursor:pointer; }
.product-guest-location-suggestion:hover,.product-guest-location-suggestion:focus-visible { outline:0; background:rgba(217,169,58,.10); }
.product-guest-location-suggestion strong { font-size:.8rem; font-weight:650; }
.product-guest-location-suggestion small { color:var(--pd); font-size:.7rem; }
.product-guest-location-preview { padding:10px 12px; border:1px solid rgba(92,185,102,.25); border-radius:8px; background:rgba(92,185,102,.04); }
.product-guest-location-preview span,.product-guest-location-preview strong,.product-guest-location-preview small { display:block; }
.product-guest-location-preview span { color:var(--pd); font-size:.66rem; text-transform:uppercase; letter-spacing:.08em; }
.product-guest-location-preview strong { margin-top:4px; color:var(--pt); font-size:.82rem; line-height:1.4; }
.product-guest-location-preview small { margin-top:4px; color:var(--pd); font-size:.68rem; }
.product-text-button { grid-column:1/-1; width:max-content; padding:0; border:0; background:transparent; color:var(--pg2); cursor:pointer; text-decoration:underline; font:inherit; font-size:.76rem; }
.product-profile-summary { padding:10px; border:1px solid rgba(217,169,58,.13); border-radius:8px; background:rgba(255,255,255,.015); }
.product-profile-summary span,.product-profile-summary strong { display:block; }
.product-profile-summary span { color:var(--pd); font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; }
.product-profile-summary strong { margin-top:4px; font-size:.86rem; }

.product-quantity-row { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:16px; padding-top:14px; border-top:1px solid rgba(217,169,58,.14); }
.product-quantity-row>div:first-child>span { display:block; color:var(--pg2); font-weight:600; font-size:.85rem; }
.product-quantity-row small { color:var(--pd); font-size:.72rem; }
.product-quantity-control { display:grid; grid-template-columns:40px 58px 40px; border:1px solid var(--pl); border-radius:8px; overflow:hidden; }
.product-quantity-control button,.product-quantity-control input { min-height:42px; border:0; background:rgba(0,0,0,.16); color:var(--pt); text-align:center; font:inherit; }
.product-quantity-control button { color:var(--pg2); cursor:pointer; font-size:1.25rem; }
.product-quantity-control input { width:100%; font-size:1rem; appearance:textfield; -moz-appearance:textfield; }
.product-quantity-control input::-webkit-inner-spin-button,.product-quantity-control input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.product-preparation-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:12px; }
.product-preparation-summary div { padding:9px 10px; border:1px solid rgba(217,169,58,.12); border-radius:8px; background:rgba(0,0,0,.09); }
.product-preparation-summary span,.product-preparation-summary strong { display:block; }
.product-preparation-summary span { color:var(--pd); font-size:.68rem; }
.product-preparation-summary strong { margin-top:3px; color:var(--pg2); font-size:.9rem; }
.product-price-row { display:flex; justify-content:space-between; gap:15px; align-items:flex-end; margin-top:14px; padding-top:13px; border-top:1px solid rgba(217,169,58,.14); }
.product-price-row span,.product-price-row small { display:block; }
.product-price-row span { color:var(--pm); font-size:.78rem; }
.product-price-row small { margin-top:3px; color:var(--pd); font-size:.68rem; }
.product-price-row>strong { color:var(--pg2); font-size:1.25rem; white-space:nowrap; }
.product-primary-button { display:flex; width:100%; min-height:50px; margin-top:14px; align-items:center; justify-content:center; gap:12px; border:1px solid #efc765; border-radius:8px; color:#171107; background:linear-gradient(180deg,#efc765,#bd872a); font-family:var(--font-interface,Arial,sans-serif); font-size:.84rem; font-weight:700; text-transform:uppercase; cursor:pointer; }
.product-primary-button:disabled { opacity:.45; cursor:not-allowed; }
.product-form-privacy { margin:10px 0 0; text-align:center; }

.product-moment-hero__certificate { position:sticky; top:100px; display:flex; justify-content:center; padding-top:8px; }
.product-moment-hero__certificate img { width:min(100%,760px); max-height:1100px; object-fit:contain; filter:drop-shadow(0 28px 50px rgba(0,0,0,.45)); }
.product-certificate-placeholder { min-height:760px; width:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; border:1px solid var(--pl); border-radius:16px; background:radial-gradient(circle at 50% 35%,rgba(217,169,58,.16),rgba(0,0,0,.22)); }
.product-certificate-placeholder span,.product-certificate-placeholder strong,.product-certificate-placeholder em { display:block; }
.product-certificate-placeholder strong { margin:16px 0; font-family:var(--font-display,Georgia,serif); font-size:3rem; color:var(--pg2); }

.product-story-intro { max-width:900px; margin:70px auto 34px; text-align:center; }
.product-story-intro h2,.product-section-title h2 { margin:.5rem 0; font-family:var(--font-display,Georgia,serif); font-weight:400; color:var(--pg2); font-size:clamp(2rem,3.2vw,3.4rem); }
.product-story-intro p:last-child { color:var(--pm); font-size:1rem; line-height:1.7; }
.product-journey { margin-top:42px; }
.product-section-title { display:grid; grid-template-columns:1fr auto 1fr; gap:20px; align-items:center; margin-bottom:25px; text-align:center; }
.product-section-title span { height:1px; background:linear-gradient(90deg,transparent,var(--pl)); }
.product-section-title span:last-child { background:linear-gradient(90deg,var(--pl),transparent); }
.product-section-title h2 { font-size:clamp(1.8rem,2.7vw,2.8rem); }
.product-journey-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
.product-journey-card { position:relative; text-align:center; }
.product-step-number { position:absolute; z-index:2; top:-14px; left:50%; transform:translateX(-50%); display:grid; place-items:center; width:38px; height:38px; border:1px solid var(--pg); border-radius:50%; background:#080a08; color:var(--pg2); font-family:var(--font-display,Georgia,serif); }
.product-step-image { aspect-ratio:4/5; overflow:hidden; border:1px solid var(--pl); border-radius:12px; background:rgba(0,0,0,.18); }
.product-step-image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }
.product-journey-card:hover .product-step-image img { transform:scale(1.025); }
.product-journey-card h3 { margin:15px 0 7px; font-family:var(--font-display,Georgia,serif); font-size:1.35rem; font-weight:400; color:var(--pg2); }
.product-journey-card p { margin:0; color:var(--pm); font-size:.82rem; line-height:1.55; }

.product-assurance-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; margin-top:46px; border:1px solid var(--pl); border-radius:14px; overflow:hidden; background:rgba(0,0,0,.08); }
.product-assurance-grid article { padding:25px 20px; text-align:center; border-right:1px solid rgba(217,169,58,.18); }
.product-assurance-grid article:last-child { border-right:0; }
.product-assurance-grid strong { display:block; color:var(--pg2); font-size:.9rem; text-transform:uppercase; letter-spacing:.035em; }
.product-assurance-grid p { margin:8px 0 0; color:var(--pm); font-size:.78rem; line-height:1.55; }
.product-closing-line { margin-top:14px; padding:15px; border:1px solid rgba(217,169,58,.25); border-radius:10px; text-align:center; color:var(--pg2); font-family:var(--font-display,Georgia,serif); font-size:clamp(1.15rem,1.8vw,1.5rem); }

@media (max-width:1100px) {
  .product-moment-hero { grid-template-columns:1fr; }
  .product-moment-hero__certificate { position:relative; top:auto; order:-1; max-width:680px; margin-inline:auto; }
  .product-moment-hero__copy { max-width:820px; margin-inline:auto; }
  .product-journey-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-journey-card:last-child { grid-column:1/-1; max-width:48%; justify-self:center; }
  .product-assurance-grid { grid-template-columns:1fr 1fr; }
  .product-assurance-grid article { border-bottom:1px solid rgba(217,169,58,.18); }
}
@media (max-width:700px) {
  .product-shell { width:min(100% - 24px,1500px); }
  .product-moment-page { padding-top:18px; }
  .product-moment-hero h1 { font-size:clamp(3.45rem,18vw,5.2rem); }
  .product-context-icons { grid-template-columns:1fr 1fr; }
  .product-mode-switch,.product-manual-fields,.product-profile-fields,.product-preparation-summary { grid-template-columns:1fr; }
  .product-quantity-row,.product-price-row { align-items:stretch; flex-direction:column; }
  .product-quantity-control { width:138px; }
  .product-journey-grid { grid-template-columns:1fr; gap:30px; }
  .product-journey-card:last-child { grid-column:auto; max-width:none; }
  .product-step-image { aspect-ratio:16/11; }
  .product-assurance-grid { grid-template-columns:1fr; }
  .product-assurance-grid article { border-right:0; }
}
/* v2.5.0 Moment date selector */
.product-moment-date-field{display:grid;gap:7px;margin:18px 0;padding:14px 0;border-top:1px solid rgba(214,170,88,.16);border-bottom:1px solid rgba(214,170,88,.16)}
.product-moment-date-field>span{color:#e3bd55;font-size:12px;font-weight:700;letter-spacing:.04em}.product-moment-date-field input{min-height:46px;padding:10px 12px;border:1px solid rgba(214,170,88,.32);border-radius:10px;background:rgba(0,0,0,.32);color:#f5efe2}.product-moment-date-field small{color:rgba(245,239,228,.56);line-height:1.5}

@media (max-width:720px){.product-guest-location-manual{grid-template-columns:1fr;}}
