:root {
  --chiaia-primary:#a47551;
  --chiaia-primary-dark:#7d5639;
  --chiaia-ink:#1f1f1f;
  --chiaia-soft:#f5ece5;
  --chiaia-line:#ebebeb;
  --chiaia-muted:#777777;
}
.chiaia-app { background:#fff; color:var(--chiaia-ink); font-size:15px; line-height:1.55; }
.chiaia-app a { color:var(--chiaia-ink); text-decoration:none; }
.chiaia-app-header { background:#fff; border-bottom:1px solid var(--chiaia-line); position:sticky; top:0; z-index:200; }
.chiaia-app-header .header-inner { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.chiaia-app-header .site-logo img { max-width:210px; height:auto; display:block; }
.chiaia-app-nav { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:22px; text-transform:uppercase; letter-spacing:.06em; font-size:12px; }
.chiaia-app-nav a { padding:8px 0; border-bottom:1px solid transparent; }
.chiaia-app-nav a:hover { border-color:var(--chiaia-primary); color:var(--chiaia-primary); }
.hero-wedding { min-height:430px; display:flex; align-items:center; background-size:cover; background-position:center; position:relative; overflow:hidden; }
.hero-wedding::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(0,0,0,.58), rgba(0,0,0,.10)); }
.hero-wedding .content { position:relative; max-width:760px; color:#fff; padding:80px 0; }
.eyebrow { text-transform:uppercase; letter-spacing:.16em; color:var(--chiaia-primary); font-size:12px; font-weight:700; }
.hero-wedding .eyebrow { color:#f5ece5; }
.hero-wedding h1 { font-size:clamp(42px, 6vw, 82px); line-height:.96; letter-spacing:-.04em; margin:14px 0 18px; color:#ffffff }
.hero-wedding p { color:#fff; font-size:18px; max-width:620px; }
.section-pad { padding:70px 0; }
.page-title-lite { padding:52px 0 28px; border-bottom:1px solid var(--chiaia-line); margin-bottom:35px; }
.page-title-lite h1 { font-size:clamp(34px,4vw,58px); line-height:1; letter-spacing:-.035em; text-transform:uppercase; }
.chiaia-card { border:1px solid var(--chiaia-line); background:#fff; padding:28px; height:100%; }
.chiaia-card-soft { background:#fbf8f5; border:1px solid #f0e3da; padding:28px; }
.btn-chiaia, .btn-chiaia-outline, .btn-chiaia-danger { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:13px 24px; border-radius:0; text-transform:uppercase; letter-spacing:.07em; font-size:12px; font-weight:700; transition:.2s; text-decoration:none; }
.btn-chiaia { background:var(--chiaia-ink); color:#fff !important; border:1px solid var(--chiaia-ink); }
.btn-chiaia:hover { background:var(--chiaia-primary); border-color:var(--chiaia-primary); }
.btn-chiaia-outline { background:#fff; color:var(--chiaia-ink) !important; border:1px solid var(--chiaia-ink); }
.btn-chiaia-outline:hover { background:var(--chiaia-ink); color:#fff !important; }
.btn-chiaia-danger { background:#fff; color:#9f2f2f !important; border:1px solid #9f2f2f; }
.btn-chiaia-danger:hover { background:#9f2f2f; color:#fff !important; }
.form-control, .form-select { border-radius:0; border:1px solid #ddd; min-height:48px; font-size:15px; }
textarea.form-control { min-height:150px; }
.form-label { text-transform:uppercase; letter-spacing:.08em; font-size:12px; color:#444; font-weight:700; }
.table { font-size:14px; }
.table th { text-transform:uppercase; letter-spacing:.05em; font-size:12px; color:#555; }
.stat-card { background:#fff; border:1px solid var(--chiaia-line); padding:26px; }
.stat-card .num { font-size:36px; line-height:1; font-weight:700; }
.stat-card .label { color:var(--chiaia-muted); text-transform:uppercase; letter-spacing:.07em; font-size:12px; margin-top:8px; }
.stepper { display:flex; gap:10px; flex-wrap:wrap; margin:0 0 35px; }
.stepper .step { flex:1 1 180px; border:1px solid var(--chiaia-line); padding:14px 16px; color:#777; background:#fff; text-transform:uppercase; letter-spacing:.06em; font-size:12px; }
.stepper .step.active { background:var(--chiaia-ink); color:#fff; border-color:var(--chiaia-ink); }
.product-gift-card { border:1px solid var(--chiaia-line); background:#fff; height:100%; display:flex; flex-direction:column; }
.product-gift-card .img-wrap { aspect-ratio:1/1; background:#f7f7f7; overflow:hidden; display:grid; place-items:center; }
.product-gift-card img { width:100%; height:100%; object-fit:cover; display:block; }
.product-gift-card .body { padding:22px; display:flex; flex-direction:column; gap:14px; flex:1; }
.product-gift-card h3 { font-size:22px; line-height:1.15; margin:0; }
.product-gift-card .desc { color:#666; min-height:48px; }
.share-pill { display:inline-flex; align-items:center; gap:6px; background:#f8f5f2; border:1px solid #eadbd0; padding:7px 10px; font-size:13px; margin:0 6px 6px 0; }
.progress { height:8px; border-radius:0; background:#eee; }
.progress-bar { background:var(--chiaia-primary); }
.cart-box { position:sticky; top:104px; }
.badge { border-radius:0; padding:.55em .7em; text-transform:uppercase; letter-spacing:.04em; }
.bank-box { border:1px solid #eadbd0; background:#fbf8f5; padding:24px; }
.bank-row { display:grid; grid-template-columns:150px 1fr; gap:12px; padding:10px 0; border-bottom:1px solid #eadbd0; }
.bank-row:last-child { border-bottom:0; }
.login-wrap { min-height:calc(100vh - 160px); display:grid; grid-template-columns:1.1fr .9fr; } .login-visual h1{color:#ffffff;}
.login-visual { background-image:url('../img/hero-lista-nozze.png'); background-repeat:no-repeat; background-size: cover; position:relative; background-position: center; display:flex; align-items:end; padding:54px; color:#fff; }
.login-visual::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.62)); }
.login-visual > div { position:relative; }
.login-panel { display:flex; align-items:center; justify-content:center; padding:54px 28px; }
.login-panel-inner { max-width:460px; width:100%; }
.admin-actions { display:flex; gap:10px; flex-wrap:wrap; }
.small-muted { color:#777; font-size:13px; }
.chiaia-footer-lite { border-top:1px solid var(--chiaia-line); padding:36px 0; background:#fff; color:#777; }
.footer-logo { max-width:180px; height:auto; }
.message-card { border:1px solid var(--chiaia-line); padding:24px; background:#fff; }
.message-card blockquote { margin:14px 0 0; padding-left:18px; border-left:2px solid var(--chiaia-primary); color:#555; }
@media (max-width:991px){ .login-wrap { grid-template-columns:1fr; } .login-visual { min-height:250px; } .cart-box { position:static; } }
@media (max-width:767px){ .set-item-thumb{max-width:80px !important;} .chiaia-app-header .header-inner { flex-direction:column; align-items:flex-start; padding:18px 0; } .chiaia-app-nav { justify-content:flex-start; gap:14px; } .bank-row { grid-template-columns:1fr; } .section-pad { padding:45px 0; } }
@media (min-width:1200px){ .set-item-thumb{max-width:80px !important;} }
.catalog-thumb { width:70px; height:70px; object-fit:cover; background:#f7f7f7; border:1px solid var(--chiaia-line); display:block; }
.image-upload-widget { border:1px dashed #d8c4b4; background:#fbf8f5; padding:16px; }
.image-upload-widget.compact { padding:12px; }
.image-upload-preview { min-height:150px; background:#fff; border:1px solid #eadbd0; display:grid; place-items:center; color:#777; margin-bottom:12px; overflow:hidden; text-align:center; }
.image-upload-widget.compact .image-upload-preview { min-height:110px; }
.image-upload-preview img { width:100%; max-height:260px; object-fit:contain; display:block; }
.image-upload-drop { display:flex; align-items:center; justify-content:center; gap:12px; min-height:78px; border:1px solid var(--chiaia-ink); background:#fff; padding:14px; cursor:pointer; text-align:center; transition:.2s; }
.image-upload-drop:hover { border-color:var(--chiaia-primary); color:var(--chiaia-primary); }
.image-upload-drop input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.image-upload-drop span { display:grid; gap:4px; }
.image-upload-drop small { font-size:12px; color:#777; font-weight:400; }
.upload-status.text-success { color:#198754 !important; }
.upload-status.text-danger { color:#dc3545 !important; }

.list-product-edit-form { background:#fbf8f5; border:1px solid #f0e3da; margin:0 0 18px; padding:22px; }
.list-product-edit-row td { background:#fff; }
.btn-sm-like { min-height:38px; padding:8px 14px; font-size:11px; }

.hero-image-widget .hero-image-preview { min-height:230px; }
.hero-image-widget .hero-image-preview img { width:100%; height:260px; max-height:none; object-fit:cover; }

.payment-link-box { border:1px solid #eadbd0; background:#fff; padding:24px; }
.payment-link-box .btn-chiaia { width:auto; }

.payment-choice{
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:14px 16px;
    border:1px solid rgba(35,31,32,.12);
    border-radius:14px;
    background:#fff;
    cursor:pointer;
}
.payment-choice input{margin-top:4px;}
.payment-choice span{display:grid;gap:4px;}
.payment-choice small{display:block;color:#777;font-size:12px;line-height:1.35;}
.guest-orders-table td{vertical-align:top;}

.order-products-split { display:flex; align-items:flex-start; flex-wrap:wrap; gap:6px; margin-top:8px; }
.order-product-chip { display:inline-flex; align-items:center; gap:6px; border:1px solid #eadbd0; background:#fbf8f5; padding:5px 8px; font-size:12px; line-height:1.25; }
.order-product-chip small { color:#777; font-weight:400; }
.set-items-box { display:grid; gap:10px; }
.set-item-row { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:center; padding:12px; border:1px solid #eadbd0; background:#fbf8f5; }
.set-item-main { display:grid; gap:3px; }
.set-item-buy { display:flex; gap:8px; align-items:center; }
.set-item-buy .form-control { width:76px; min-height:42px; text-align:center; }
.set-item-buy .btn-chiaia { min-height:42px; padding:8px 14px; font-size:14px; }
.product-gift-card-set .desc { min-height:auto; }
.order-products-detail { border:1px solid #eadbd0; background:#fbf8f5; }
.order-product-detail-row { display:flex; justify-content:space-between; gap:16px; padding:12px 16px; border-bottom:1px solid #eadbd0; }
.order-product-detail-row:last-child { border-bottom:0; }
@media (max-width:575px){ .set-item-row, .order-product-detail-row { grid-template-columns:1fr; display:grid; } .set-item-buy { justify-content:flex-start; } }

.product-type-choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.product-type-choice { display:flex; gap:12px; align-items:flex-start; border:1px solid #eadbd0; background:#fbf8f5; padding:14px; cursor:pointer; min-height:88px; }
.product-type-choice input { margin-top:4px; }
.product-type-choice span { display:grid; gap:3px; }
.product-type-choice small { color:#777; font-size:12px; line-height:1.35; }

.product-type-readonly { border:1px solid #eadbd0; background:#fbf8f5; padding:14px 16px; min-height:58px; display:flex; align-items:center; font-weight:600; color:#2c2c2c; line-height:1.35; }
.product-type-readonly.is-simple { border-color:#d8d8d8; background:#fff; }
.product-type-readonly.is-set { border-color:#a47551; background:#fffaf6; box-shadow:0 0 0 1px rgba(164,117,81,.14) inset; }
.share-editor-panel { border:1px solid #eadbd0; background:#fff; padding:14px; margin-bottom:16px; }
.share-editor-list { display:grid; gap:12px; }
.share-editor-row { display:grid; gap:10px; align-items:end; border:1px solid #f0e3da; background:#fbf8f5; padding:12px; }
.simple-share-row { grid-template-columns:1fr 1fr auto; }
.set-share-row { grid-template-columns:110px 1.4fr .8fr .7fr auto; align-items:start; }
.share-editor-remove { display:flex; align-items:end; min-height:48px; }
.set-subproduct-image-widget { padding:8px; }
.set-subproduct-image-widget .image-upload-preview { min-height:82px; margin-bottom:8px; }
.set-subproduct-image-widget .image-upload-preview img { width:100%; height:82px; object-fit:cover; }
.set-subproduct-image-widget .image-upload-drop { min-height:42px; padding:8px; }
.set-subproduct-image-widget .image-upload-drop strong { font-size:11px; }
.set-subproduct-image-widget .image-upload-drop small { display:none; }
.set-item-thumb { width:72px; height:72px; object-fit:cover; border:1px solid #eadbd0; background:#fff; flex:0 0 72px; }
.set-item-content { display:flex; align-items:center; gap:12px; min-width:0; }
.set-item-row.has-image { grid-template-columns:1fr auto; }
@media (max-width:991px){ .product-type-choice-grid { grid-template-columns:1fr; } .set-share-row { grid-template-columns:1fr; } .simple-share-row { grid-template-columns:1fr; } .share-editor-remove { min-height:auto; } }
@media (max-width:575px){ .set-item-content { align-items:flex-start; } .set-item-thumb { width:58px; height:58px; flex-basis:58px; } }

.list-product-mode-choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.list-product-mode-choice { display:flex; gap:12px; align-items:flex-start; border:1px solid #eadbd0; background:#fbf8f5; padding:14px; cursor:pointer; min-height:92px; transition:all .18s ease; }
.list-product-mode-choice input { margin-top:4px; }
.list-product-mode-choice span { display:grid; gap:4px; }
.list-product-mode-choice small { color:#777; font-size:12px; line-height:1.35; }
.list-product-mode-choice.is-active { border-color:#a47551; background:#fffaf6; box-shadow:0 0 0 1px rgba(164,117,81,.18) inset; }
@media (max-width:991px){ .list-product-mode-choice-grid { grid-template-columns:1fr; } }

.single-user-mode-box { display:flex; gap:14px; align-items:flex-start; border:1px solid #eadbd0; background:#fffaf6; padding:16px; cursor:pointer; }
.single-user-mode-box input { margin-top:4px; }
.single-user-mode-box span { display:grid; gap:5px; }
.single-user-mode-box small { color:#777; line-height:1.45; font-size:13px; }
.order-qty-input { width:110px; max-width:100%; }

.guest-password-form { display:flex; gap:8px; align-items:center; min-width:300px; }
.guest-password-form .form-control { min-height:38px; }
.guest-password-form .btn-sm-like { white-space:nowrap; }
@media (max-width:867px){ .guest-password-form { min-width:0; flex-direction:column; align-items:stretch; }  .hero-wedding{   background-size: contain;   background-repeat: no-repeat;  } }
@media (max-width:700px){.guest-password-form { min-width:0; flex-direction:column; align-items:stretch; }  .hero-wedding{   background-size:cover;   background-repeat: no-repeat; background-position-x: -850px  } }
/* Guest list accordion for multi-set products */
.set-accordion { display:grid; gap:12px; }
.set-accordion-toggle {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid var(--chiaia-ink);
  background:#fff;
  color:var(--chiaia-ink);
  padding:14px 16px;
  min-height:54px;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-size:12px;
  font-weight:700;
  transition:.2s;
}
.set-accordion-toggle:hover,
.set-accordion-toggle:not(.collapsed) { background:var(--chiaia-ink); color:#fff; }
.set-accordion-toggle small { font-weight:500; letter-spacing:0; text-transform:none; color:inherit; opacity:.78; }
.set-accordion-toggle::after { content:'+'; font-size:18px; line-height:1; }
.set-accordion-toggle:not(.collapsed)::after { content:'−'; }
.set-accordion-toggle:disabled { opacity:.55; cursor:not-allowed; background:#f7f7f7; color:#777; border-color:#ddd; }
.set-item-row.is-disabled { opacity:.62; background:#f7f7f7; }
.soldout-label { display:inline-flex; width:max-content; border:1px solid #ddd; background:#fff; color:#777; padding:2px 7px; font-size:11px; text-transform:uppercase; letter-spacing:.05em; }
.product-gift-card-soldout .progress-bar { background:#777; }
@media (max-width:575px){ .set-accordion-toggle { align-items:flex-start; flex-direction:column; } }

.set-accordion-toggle span{padding: 10px 8px;}

/* Language switch */
.language-switch { display:inline-flex; align-items:center; gap:6px; text-transform:uppercase; letter-spacing:.08em; font-size:12px; margin-left:16px; white-space:nowrap; }
.language-switch a { color:#777; padding:6px 0; border-bottom:1px solid transparent; }
.language-switch a.active { color:var(--chiaia-ink); border-bottom-color:var(--chiaia-primary); font-weight:700; }
.language-switch span { color:#bbb; }
.chiaia-app-header .header-inner { flex-wrap:wrap; }

/* Better tablet/mobile layout for multiset accordion */
.set-item-thumb-button { border:0; padding:0; background:transparent; display:block; cursor:zoom-in; flex:0 0 auto; }
.set-item-thumb { width:64px; height:64px; object-fit:cover; border:1px solid #eadbd0; background:#fff; display:block; }
.set-item-row.has-image { grid-template-columns:minmax(0,1fr) auto; align-items:center; }
.set-item-content { min-width:0; }
.set-item-main { min-width:0; overflow-wrap:anywhere; word-break:normal; }
.set-item-main strong { display:block; font-size:15px; line-height:1.25; }
.set-item-buy { flex:0 0 auto; }
.set-item-buy .form-control { width:66px; }

.chiaia-lightbox { position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,.72); display:none; align-items:center; justify-content:center; padding:28px; }
.chiaia-lightbox.is-open { display:flex; }
.chiaia-lightbox-inner { position:relative; max-width:min(920px, 94vw); max-height:90vh; background:#fff; padding:18px; box-shadow:0 20px 70px rgba(0,0,0,.35); }
.chiaia-lightbox img { max-width:100%; max-height:76vh; display:block; object-fit:contain; }
.chiaia-lightbox-title { margin-top:10px; color:#222; font-weight:600; }
.chiaia-lightbox-close { position:absolute; top:8px; right:10px; border:0; background:#111; color:#fff; width:34px; height:34px; font-size:22px; line-height:1; cursor:pointer; }

@media (min-width:768px) and (max-width:1440px) {
  .product-gift-card-set .set-item-row { padding:10px; gap:10px; }
  .product-gift-card-set .set-item-thumb { width:52px; height:52px; }
  .product-gift-card-set .set-item-content { gap:10px; }
  .product-gift-card-set .set-item-main strong { font-size:14px; }
  .product-gift-card-set .set-item-main .small-muted { font-size:12px; line-height:1.25; }
  .product-gift-card-set .set-item-buy .form-control { width:58px; min-height:38px; padding-left:6px; padding-right:6px; }
  .product-gift-card-set .set-item-buy .btn-chiaia { min-height:38px; padding:8px 12px; }
  .set-accordion-toggle { padding:12px; gap:8px; }
  .set-accordion-toggle span { padding:0; }
  .set-accordion-toggle small { max-width:110px; text-align:right; line-height:1.15; }
}

@media (max-width:767px) {
  .language-switch { margin-left:0; }
  .set-item-row.has-image { grid-template-columns:1fr; }
  .set-item-buy { justify-content:flex-start; } .set-accordion{position:relative}
  .set-accordion-toggle::after {
    font-size: 28px;
    right: 20px;
    position: absolute;
    top: 25px;
}
}

@media (max-width:420px) {
  .set-item-content { align-items:flex-start; }
  .set-item-thumb { width:48px; height:48px; }
}

/* Wider editor grid after adding English subproduct label */
.set-share-row { grid-template-columns:110px 1.2fr 1.2fr .8fr .7fr auto; }
@media (max-width:1199px){ .set-share-row { grid-template-columns:1fr 1fr; } .set-share-image-cell { grid-column:1 / -1; } }
@media (max-width:767px){ .set-share-row { grid-template-columns:1fr; } .set-share-image-cell { grid-column:auto; } }

/* Display order and guest price filter */
.display-settings-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px; }
.display-setting-choice { display:flex; gap:12px; align-items:flex-start; border:1px solid #eadbd0; background:#fbf8f5; padding:14px; cursor:pointer; min-height:104px; }
.display-setting-choice input { margin-top:4px; }
.display-setting-choice span { display:grid; gap:4px; }
.display-setting-choice small { color:#777; font-size:12px; line-height:1.35; }
.list-order-toolbar { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom:18px; border:1px solid #eadbd0; background:#fbf8f5; padding:16px; }
.list-order-save-form { display:flex; align-items:center; justify-content:flex-end; min-width:max-content; }
.drag-col { width:74px; text-align:center; white-space:nowrap; }
.drag-handle { width:38px; height:38px; border:1px solid #d8c7ba; background:#fff; color:#222; cursor:grab; font-weight:700; font-size:18px; line-height:1; }
.drag-handle:active { cursor:grabbing; }
[data-sortable-product-row].is-dragging { opacity:.55; }
[data-sortable-product-row].drag-over { outline:2px solid #a47551; outline-offset:-2px; background:#fffaf6; }
.guest-filter-bar { display:flex; align-items:center; justify-content:flex-end; gap:12px; margin-bottom:24px; padding:14px 16px; border:1px solid #eadbd0; background:#fbf8f5; }
.guest-filter-bar label { margin:0; font-weight:700; text-transform:uppercase; letter-spacing:.06em; font-size:12px; }
.guest-filter-bar .form-select { width:auto; min-width:230px; }
@media (max-width:991px){ .display-settings-grid { grid-template-columns:1fr; } .list-order-toolbar { flex-direction:column; } .list-order-save-form { width:100%; justify-content:flex-start; } }
@media (max-width:767px){ .guest-filter-bar { align-items:stretch; flex-direction:column; } .guest-filter-bar .form-select { width:100%; } .drag-col { width:52px; } .drag-handle { width:34px; height:34px; } }

/* Dedicated compact product ordering page */
.compact-order-form { margin-top:18px; }
.compact-order-list { display:grid; gap:10px; }
.compact-order-row { display:grid; grid-template-columns:48px 42px 70px minmax(0, 1fr); gap:14px; align-items:center; border:1px solid #eadbd0; background:#fff; padding:12px; cursor:grab; transition:box-shadow .18s ease, transform .18s ease, background .18s ease; }
.compact-order-row:active { cursor:grabbing; }
.compact-order-row.is-dragging { opacity:.55; transform:scale(.995); }
.compact-order-row.drag-over { outline:2px solid #a47551; outline-offset:-2px; background:#fffaf6; box-shadow:0 8px 22px rgba(0,0,0,.05); }
.compact-drag-handle { width:40px; height:40px; }
.compact-order-position { width:34px; height:34px; border-radius:50%; background:#f7f0eb; color:#2b2b2b; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; }
.compact-order-thumb { width:70px; height:70px; object-fit:cover; border:1px solid #eadbd0; background:#fbf8f5; }
.compact-order-main { min-width:0; display:grid; gap:4px; }
.compact-order-main strong { font-size:16px; line-height:1.25; }
.compact-order-main span,
.compact-order-main small { color:#777; line-height:1.35; }
.compact-order-meta { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; font-size:12px; text-transform:uppercase; letter-spacing:.04em; }
.add-from-catalog-card { margin-bottom:0; }
@media (max-width:767px) {
  .compact-order-row { grid-template-columns:40px 34px 54px minmax(0,1fr); gap:10px; padding:10px; }
  .compact-order-thumb { width:54px; height:54px; }
  .compact-order-main strong { font-size:14px; }
  .compact-order-main small { display:none; }
}

/* Guest list UX update: fixed right sidebar and mobile/tablet add confirmation */
.guest-list-aside .cart-box { position:static; }
.guest-side-sticky { position:sticky; top:104px; display:grid; gap:24px; align-content:start; max-height:calc(100vh - 124px); overflow-y:auto; padding-bottom:2px; }
.guest-side-sticky::-webkit-scrollbar { width:6px; }
.guest-side-sticky::-webkit-scrollbar-thumb { background:#d8c4b4; }

.cart-add-popup { position:fixed; inset:0; z-index:10050; display:none; align-items:center; justify-content:center; padding:22px; }
.cart-add-popup.is-open { display:flex; }
.cart-add-popup-backdrop { position:absolute; inset:0; background:rgba(31,31,31,.48); }
.cart-add-popup-panel { position:relative; z-index:1; width:min(440px, 100%); background:#fbf8f5; border:1px solid #eadbd0; box-shadow:0 18px 70px rgba(0,0,0,.24); padding:30px; }
.cart-add-popup-panel h3 { font-size:32px; line-height:1.05; margin:10px 34px 12px 0; }
.cart-add-popup-panel p { color:#666; margin:0 0 22px; }
.cart-add-popup-close { position:absolute; top:12px; right:12px; border:1px solid #1f1f1f; background:#fff; width:34px; height:34px; display:grid; place-items:center; font-size:24px; line-height:1; cursor:pointer; }
.cart-add-popup-actions { display:grid; grid-template-columns:1fr; gap:10px; }
body.cart-popup-open { overflow:hidden; }

@media (min-width:768px) and (max-width:1199px) {
  .cart-add-popup-panel { width:min(520px, 90vw); }
}

@media (min-width:992px) {
  .guest-list-aside { align-self:flex-start; }
}

@media (max-width:991px) {
  .guest-side-sticky { position:static; max-height:none; overflow:visible; gap:18px; }
  .guest-list-aside { margin-top:24px; }
}

@media (max-width:575px) {
  .cart-add-popup { align-items:flex-end; padding:0; }
  .cart-add-popup-panel { width:100%; border-left:0; border-right:0; border-bottom:0; padding:26px 20px 22px; }
  .cart-add-popup-panel h3 { font-size:28px; }
}

/* FIX 26/06: sidebar desktop realmente fissa + highlight carrello */
@media (min-width: 992px) {
  .guest-list-aside {
    position: sticky;
    top: 98px;
    align-self: flex-start;
    height: calc(100vh - 118px);
    max-height: calc(100vh - 118px);
    overflow: hidden;
  }
  .guest-side-sticky {
    position: static;
    top: auto;
    display: grid;
    gap: 24px;
    align-content: start;
    height: 100%;
    max-height: 100%;
    overflow-y: auto;
    padding-right: 4px;
    padding-bottom: 2px;
  }
}
@media (max-width: 991px) {
  .guest-list-aside {
    position: static;
    height: auto;
    max-height: none;
    overflow: visible;
  }
  .guest-side-sticky {
    position: static;
    height: auto;
    max-height: none;
    overflow: visible;
  }
}
.cart-summary-box.cart-summary-highlight {
  animation: chiaiaCartSummaryPulse 0.85s ease both;
}
@keyframes chiaiaCartSummaryPulse {
  0% { transform: translateX(0); box-shadow: 0 0 0 0 rgba(164,117,81,0); background:#fbf8f5; }
  15% { transform: translateX(-5px); }
  30% { transform: translateX(5px); }
  45% { transform: translateX(-3px); }
  60% { transform: translateX(3px); }
  75% { transform: translateX(0); box-shadow: 0 0 0 4px rgba(164,117,81,.18); background:#fff8f1; }
  100% { transform: translateX(0); box-shadow: 0 0 0 0 rgba(164,117,81,0); background:#fbf8f5; }
}

/* FIX 26/06: popup mobile scroll al riepilogo nella stessa pagina + rimozione quote in riepilogo */

#guest-cart-summary { scroll-margin-top: 96px; }
.summary-table th:last-child, .summary-table td:last-child { white-space: nowrap; }
@media (max-width: 575px) {
  .summary-table { min-width: 560px; }
}

/* 30/06 AJAX cart: mini popup on desktop/mobile without page reload */
.cart-ajax-popup { position:fixed; z-index:10080; right:24px; bottom:24px; width:min(420px, calc(100vw - 32px)); opacity:0; visibility:hidden; transform:translateY(14px); transition:opacity .18s ease, transform .18s ease, visibility .18s ease; pointer-events:none; }
.cart-ajax-popup.is-open { opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; }
.cart-ajax-popup-panel { position:relative; background:#fbf8f5; border:1px solid #eadbd0; box-shadow:0 18px 60px rgba(0,0,0,.22); padding:24px; }
.cart-ajax-popup-panel h3 { font-size:28px; line-height:1.05; margin:8px 34px 10px 0; }
.cart-ajax-popup-panel p { color:#666; margin:0 0 18px; }
.cart-ajax-popup-close { position:absolute; top:10px; right:10px; border:1px solid #1f1f1f; background:#fff; width:32px; height:32px; display:grid; place-items:center; font-size:22px; line-height:1; cursor:pointer; }
.cart-ajax-popup-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
[data-cart-ajax-form].is-loading { opacity:.72; pointer-events:none; }
@media (max-width:767px) {
  .cart-ajax-popup { left:0; right:0; bottom:0; width:100%; transform:translateY(100%); }
  .cart-ajax-popup.is-open { transform:translateY(0); }
  .cart-ajax-popup-panel { border-left:0; border-right:0; border-bottom:0; padding:24px 20px 22px; }
  .cart-ajax-popup-panel h3 { font-size:26px; }
  .cart-ajax-popup-actions { grid-template-columns:1fr; }
}

/* 03/07 assistance box and mobile WhatsApp quick help */
.guest-assistance-box p { margin:10px 0 14px; color:#666; }
.guest-assistance-phone { font-size:28px; line-height:1.05; font-weight:700; letter-spacing:-.02em; margin-bottom:16px; }
.guest-assistance-phone a { color:var(--chiaia-ink); }
.guest-assistance-actions { display:grid; grid-template-columns:1fr; gap:10px; }
.guest-whatsapp-button { background:#1f1f1f; display:inline-flex; align-items:center; justify-content:center; gap:9px; }
.guest-whatsapp-button .fa-whatsapp { font-size:20px; line-height:1; }
.guest-whatsapp-button:hover { background:#25D366; border-color:#25D366; color:#fff !important; }
.guest-whatsapp-float { display:none; }
@media (max-width:991px) {
  .guest-list-aside { margin-top:0; margin-bottom:24px; }
  .guest-side-sticky { gap:14px; }
  .guest-assistance-box { padding:22px; }
  .guest-assistance-box h3 { font-size:28px; line-height:1.08; }
  .guest-assistance-phone { font-size:24px; }
}
@media (max-width:767px) {
  .guest-whatsapp-float {
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:10090;
    width:58px;
    height:58px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#25D366;
    color:#fff !important;
    border:2px solid #fff;
    box-shadow:0 10px 28px rgba(0,0,0,.24);
    font-weight:800;
    font-size:30px;
    line-height:1;
    text-decoration:none;
  }
  .guest-whatsapp-float .fa-whatsapp { font-size:30px; line-height:1; }
  .guest-whatsapp-float:hover { color:#fff !important; transform:translateY(-1px); }
}
