:root{--card-radius:16px;--control-radius:12px;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-6:48px;--space-8:64px}
body{font-size:var(--base-font-size,16px)}h1{line-height:1.35}h2{line-height:1.45}h3{line-height:1.5}.btn{min-height:44px;border-radius:var(--control-radius);padding:12px 20px;font-size:var(--button-font-size,14px)}button,input,select,textarea{font-family:inherit}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.home-page #heroSection .hero-grid{gap:32px;align-items:center}.home-page #heroSection .hero-media{background:transparent;min-height:320px;border-radius:16px}.hero-product-display{display:flex!important;gap:16px;justify-content:center;align-items:center;padding:24px 0;height:auto!important;min-height:320px}.hero-product-display a{display:block;flex:1;max-width:220px}.hero-product-display a:nth-child(2){transform:translateY(-16px)}.hero-product-display img{display:block;width:100%;max-height:350px;object-fit:contain;border-radius:12px;box-shadow:0 6px 18px #2820200c}.home-page #heroSection .hero-media.has-image{background-color:transparent}.hero-media.no-published-designs{min-height:0!important}.home-page #heroSection:has(.hero-media.no-published-designs) .hero-grid{gap:24px}
.home-page [data-site-section="featured"]{padding-block:40px 48px}.home-page [data-site-section="featured"] .section-head{justify-content:flex-start;align-items:center;gap:24px;margin-bottom:24px}.home-page [data-site-section="featured"] .section-head h2{font-size:calc(28px * var(--heading-scale));margin:0}.home-page [data-site-section="featured"] .section-head .text-link{font-size:14px;white-space:nowrap}.home-page #homeFeaturedProducts{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:0}
.product{display:flex;flex-direction:column;height:100%;min-width:0;border-radius:var(--card-radius);padding:12px;box-shadow:none}.product[hidden]{display:none!important}.product .product-art{border-radius:12px}.product .product-meta{display:flex!important;flex-direction:column;align-items:flex-start;gap:8px;padding:16px 4px 12px;flex:1}.product .product-meta h3{font-size:17px!important;line-height:1.5;margin:0 0 8px;overflow-wrap:anywhere}.product .product-meta p{font-size:13px!important;line-height:1.6;margin:0;color:#716c68}.product .product-meta>strong{font-size:15px!important;font-weight:600;margin-top:auto;line-height:1.6}.product .product-cta{min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:14px!important;margin-top:auto}.home-page #homeFeaturedProducts .home-product-art{height:auto;aspect-ratio:4/5}.home-page #homeFeaturedProducts .home-product-art img{padding:0;object-fit:contain}
.home-page #invitations{padding-block:32px 48px}.home-page #invitations .invitation-simple{padding:32px;gap:24px}.home-page #invitations .invite-journey{gap:32px;width:100%;align-items:stretch}.invite-journey-step{display:grid!important;grid-template-rows:auto 205px 1fr;align-items:start;justify-items:center}.invite-stage-label{min-height:32px}.invite-journey-step>p{font-size:14px!important;line-height:1.8!important;max-width:240px!important}.invite-journey-step .invite-phone,.invite-journey-step .invite-reply-demo,.invite-journey-step .invite-guest-list{align-self:stretch}.home-page .invitation-simple .invite-caption{font-size:13px}
.footer-shell{padding-top:32px}.footer-topline{padding-bottom:24px;gap:24px}.footer-bottomline{padding-block:20px 12px;gap:24px}.footer-shop-link{font-size:12px;min-height:32px;gap:8px;padding-bottom:2px}.footer-shop-link i{font-size:13px}.footer-links{align-items:center;gap:12px 20px}.footer-links a{font-size:13px}.footer-meta{font-size:12px}.footer-intro p{font-size:14px}
.page-top{padding-top:40px;padding-bottom:16px}.page-top h1,.page-top h1[data-i18n="cards_title"]{font-size:30px!important;margin:0 0 12px;max-width:800px}.shop-description{font-size:16px;line-height:1.8;color:#706963;margin:0 0 24px}.shop-toolbar{gap:12px}.shop-toolbar input,.shop-toolbar select{min-height:44px;border-radius:12px}.page-top .chip-row{margin:0;padding:16px 0 0;gap:8px;flex-wrap:wrap}.chip{min-height:40px;font-size:14px;border-radius:999px;padding:8px 14px}.extra-categories[hidden]{display:none!important}.cards-section{padding-top:8px}.results-line{margin-bottom:16px;font-size:14px}.cards-section .product-grid{gap:24px;grid-template-columns:repeat(4,minmax(0,1fr))}
.purchase-progress{padding-block:16px}.commerce-page{padding:24px 0 64px}.commerce-grid,.checkout-grid{gap:32px;grid-template-columns:minmax(0,1.4fr) minmax(300px,.7fr)}.commerce-title{margin-bottom:24px}.commerce-title h1{font-size:32px;margin:0 0 8px}.commerce-title p{font-size:15px}.cart-item{grid-template-columns:124px minmax(0,1fr);padding:16px;gap:16px;border-radius:16px;box-shadow:none}.cart-thumb{background-size:contain;background-repeat:no-repeat;background-color:#faf8f5}.cart-customization{padding:8px;margin:12px 0;gap:8px}.cart-customization span{font-size:12px}.cart-item h3{font-size:18px}.cart-item p{font-size:13px}.cart-item-actions a,.cart-item-actions button{font-size:13px}.cart-status{font-size:11px}.cart-item-top>strong{font-size:15px}.summary-card{padding:24px;border-radius:16px;box-shadow:none}.summary-card h2{font-size:20px;margin-bottom:16px}.summary-line,.summary-line strong{font-size:14px;padding-block:8px}.summary-total{margin-block:8px 16px}.summary-total>strong{font-size:24px}.continue-shopping{font-size:13px;color:#736b65}.sticky-summary{top:220px}
.checkout-section{padding:20px 0;border:0;border-bottom:1px solid #e7dfd8;background:transparent;border-radius:0;margin-bottom:8px;box-shadow:none}.checkout-section-head{margin-bottom:16px}.checkout-section-head h2{font-size:19px}.checkout-section-head p{font-size:14px;line-height:1.7}.checkout-fields{gap:16px}.checkout-fields label{gap:8px;font-size:14px}.checkout-fields input,.checkout-fields select,.checkout-fields textarea{padding:12px;min-height:44px;border-radius:12px}.gift-section{padding-block:16px}.gift-section .gift-toggle{font-size:16px;padding:0}.gift-section #giftDetails{padding-top:16px;margin-top:16px}.coupon-box{display:flex;gap:8px}.coupon-box input{flex:1;min-width:0;min-height:44px}.coupon-box button{min-height:44px;border-radius:12px}.payment-option{padding:8px 12px;min-height:52px;grid-template-columns:20px 70px 1fr;gap:12px;border-radius:12px;background:#fff}.payment-option:has(input:checked){background:#fff;border-color:var(--red);box-shadow:none}.payment-option b{font-size:14px}.payment-option small{font-size:12px}.payment-logo{font-size:11px;height:28px}.payment-option input{accent-color:var(--red);width:18px;height:18px}.checkout-mini-item b{font-size:14px}.checkout-mini-item small,.checkout-mini-item>strong{font-size:12px}.terms-check{font-size:13px;line-height:1.7}.prototype-caption,.prototype-payment-note p{font-size:12px;line-height:1.7}.checkout-summary{position:sticky;top:220px}.checkout-summary .sticky-summary{position:static}.checkout-summary .summary-card{padding:20px}.checkout-summary .continue-shopping{display:block;text-align:center;margin-top:12px}
@media(max-width:1100px){.home-page #homeFeaturedProducts,.cards-section .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.commerce-grid,.checkout-grid{grid-template-columns:1fr}.checkout-summary,.sticky-summary{position:static}.commerce-summary{order:2}.checkout-fields{grid-template-columns:1fr}.home-page #homeFeaturedProducts,.cards-section .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-stepper b{display:block;font-size:11px}.checkout-stepper i{display:none}.checkout-stepper{justify-content:center;flex-wrap:wrap;gap:8px}}
@media(max-width:700px){.home-page [data-site-section="featured"]{padding-block:32px}.home-page [data-site-section="featured"] .section-head{align-items:start;flex-direction:column;gap:8px}.home-page [data-site-section="featured"] .section-head h2{font-size:24px}.home-page #invitations .invitation-simple{padding:24px}.invite-journey-step{grid-template-rows:auto auto auto}.home-page #invitations .invite-journey{gap:32px}.hero-product-display{min-height:260px}.hero-product-display img{max-height:280px}.page-top{padding-top:24px}.page-top h1{font-size:25px!important}.page-top .chip-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.chip{flex-shrink:0}.commerce-title h1{font-size:26px}.commerce-page{padding-top:16px}.product .product-meta h3{font-size:15px!important}.product .product-meta p{font-size:12px!important}.product{padding:8px}.home-page #homeFeaturedProducts,.cards-section .product-grid{gap:12px}.cart-item{grid-template-columns:88px minmax(0,1fr);padding:12px}.cart-item-top{flex-direction:column;gap:8px}.cart-item h3{font-size:16px}.cart-customization{margin:8px 0}.summary-card{padding:20px}.footer-topline,.footer-bottomline{gap:16px}.footer-links{gap:12px 16px}}
@media(max-width:360px){.home-page #homeFeaturedProducts,.cards-section .product-grid{grid-template-columns:1fr}.product .product-art{max-height:360px}}

.home-page [data-site-section="featured"] .section-head{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:16px}.home-page [data-site-section="featured"] .section-head h2{margin:0}.home-page [data-site-section="featured"] .section-head .btn{background:var(--red);color:white;white-space:nowrap;flex-shrink:0}@media(max-width:480px){.home-page [data-site-section="featured"] .section-head h2{font-size:22px}.home-page [data-site-section="featured"] .section-head .btn{font-size:12px;padding:10px 12px}}

/* =========================================================
   Universal Mobile Responsiveness & Polish Across All Pages
   ========================================================= */
/* Sticky-safe horizontal overflow containment */
html {
  scroll-behavior: smooth;
}
body {
  overflow-x: clip !important;
  max-width: 100vw !important;
  width: 100% !important;
}

/* Prevent iOS Safari auto-zoom on form inputs */
@media (max-width: 768px) {
  input, select, textarea,
  .cv-search-form input,
  .checkout-fields input,
  .checkout-fields select,
  .checkout-fields textarea,
  .coupon-box input,
  .shop-toolbar input,
  .shop-toolbar select,
  .customer-field-control input,
  .customer-field-control textarea,
  .customer-style-section select {
    font-size: 16px !important;
  }
}

/* Product Detail Page Mobile Optimization */
@media (max-width: 900px) {
  .product-page-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .large-card-wrap {
    position: static !important;
    width: 100% !important;
  }
}
@media (max-width: 560px) {
  .dynamic-product-preview,
  .large-product-art {
    width: min(350px, 90vw) !important;
    margin-inline: auto !important;
  }
  .product-info h1 {
    font-size: 26px !important;
  }
  .feature-box {
    padding: 16px !important;
    margin: 18px 0 !important;
  }
  #productCustomizeLink {
    min-height: 48px !important;
    font-size: 15px !important;
  }
}

/* Customizer Page Mobile Optimization */
@media (max-width: 900px) {
  .customer-customizer-layout {
    grid-template-columns: 1fr !important;
  }
  .customer-controls-panel {
    position: static !important;
    padding: 20px 16px !important;
    max-height: none !important;
  }
  .customer-preview-zone {
    padding: 14px 16px 20px !important;
  }
}
@media (max-width: 560px) {
  .customer-canvas-shell {
    min-height: 380px !important;
    padding: 16px 0 !important;
  }
  .customer-card-stage {
    width: min(340px, 86vw) !important;
  }
  .customer-watermarks span {
    font-size: 20px !important;
  }
  .customer-edit-actions {
    gap: 8px !important;
  }
  .customer-edit-actions button {
    min-height: 44px !important;
    font-size: 13px !important;
  }
  .customer-checkout-card button {
    min-height: 48px !important;
  }
}

/* Shop & Offers Category Chips & Toolbar */
@media (max-width: 700px) {
  .page-top {
    padding-top: 20px !important;
    padding-bottom: 12px !important;
  }
  .page-top h1 {
    font-size: 24px !important;
  }
  .shop-toolbar {
    flex-direction: column !important;
    gap: 10px !important;
  }
  .shop-toolbar input,
  .shop-toolbar select {
    width: 100% !important;
    min-height: 44px !important;
  }
  .page-top .chip-row {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    padding: 10px 2px 4px !important;
    gap: 6px !important;
  }
  .page-top .chip-row::-webkit-scrollbar {
    display: none !important;
  }
  .chip {
    flex-shrink: 0 !important;
    font-size: 13px !important;
    padding: 7px 13px !important;
    min-height: 36px !important;
  }
}

/* Cart & Checkout Flow Mobile Optimization */
@media (max-width: 600px) {
  .cart-item {
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 10px !important;
  }
  .cart-item h3 {
    font-size: 15px !important;
  }
  .cart-item-top > strong {
    font-size: 14px !important;
  }
  .cart-customization {
    padding: 6px 8px !important;
    gap: 6px !important;
    margin: 8px 0 !important;
  }
  .cart-customization span {
    font-size: 11px !important;
  }
  .checkout-section {
    padding: 14px 0 !important;
  }
  .checkout-section-head h2 {
    font-size: 17px !important;
  }
  .payment-option {
    grid-template-columns: 20px 58px 1fr !important;
    gap: 10px !important;
    padding: 8px 10px !important;
    min-height: 48px !important;
  }
  .coupon-box {
    gap: 6px !important;
  }
  .coupon-box button {
    padding: 0 14px !important;
    font-size: 12px !important;
  }
}

/* Help, FAQ, Contact, Policy Pages Mobile Optimization */
@media (max-width: 700px) {
  .help-page {
    padding-block: 24px 40px !important;
  }
  .help-page h1 {
    font-size: 26px !important;
    margin: 10px 0 !important;
  }
  .help-layout {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  .help-layout nav {
    position: static !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    gap: 8px !important;
    border-inline-start: 0 !important;
    padding: 0 0 6px !important;
  }
  .help-layout nav::-webkit-scrollbar {
    display: none !important;
  }
  .help-layout nav a {
    flex-shrink: 0 !important;
    padding: 6px 14px !important;
    border: 1px solid #e8dfda !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    font-size: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #5a534e !important;
    text-decoration: none !important;
  }
  .help-layout nav a:hover {
    background: #faf5f2 !important;
  }
  .help-layout nav a.active {
    background: #8d1724 !important;
    border-color: #8d1724 !important;
    color: #ffffff !important;
  }
  .help-layout nav a.active .policy-nav-badge {
    background: #ffffff !important;
    color: #8d1724 !important;
  }
  .help-faq .help-item {
    padding: 14px 16px !important;
    margin-bottom: 8px !important;
  }
  .help-item summary {
    font-size: 15px !important;
  }
  .cv-simple-page {
    padding: 48px 0 !important;
    min-height: 50vh !important;
  }
  .cv-simple-page h1 {
    font-size: 30px !important;
  }
}

/* Account & Purchases Page Mobile Optimization */
@media (max-width: 600px) {
  .purchases-page {
    padding-block: 24px 40px !important;
  }
  .purchases-heading {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    margin-bottom: 20px !important;
  }
  .purchases-heading h1 {
    font-size: 26px !important;
    margin: 0 0 6px !important;
  }
  .purchases-heading .btn {
    width: 100% !important;
    text-align: center !important;
  }
  .purchase-card {
    padding: 16px !important;
    border-radius: 16px !important;
  }
  .purchase-top {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }
  .purchase-top h2 {
    font-size: 16px !important;
  }
  .purchase-actions {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 8px !important;
    margin-top: 14px !important;
  }
  .purchase-actions .btn {
    width: 100% !important;
    min-height: 44px !important;
  }
}

/* Success Page Mobile Optimization */
@media (max-width: 600px) {
  .success-page {
    padding: 36px 14px 50px !important;
  }
  .success-shell h1 {
    font-size: 26px !important;
    margin: 12px 0 8px !important;
  }
  .success-actions {
    flex-direction: column !important;
    width: 100% !important;
    gap: 10px !important;
  }
  .success-actions .btn {
    width: 100% !important;
    min-height: 46px !important;
  }
}

/* Showcase / Display Only badge and banner */
.product .product-art {
  position: relative !important;
}
.display-only-badge {
  position: absolute;
  top: 10px;
  inset-inline-start: 10px;
  background: rgba(35, 30, 27, 0.88);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 999px;
  letter-spacing: 0.02em;
  z-index: 5;
  pointer-events: none;
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.14);
}
.showcase-banner {
  background: #fbf7f4;
  border: 1px solid #ebdcd5;
  border-inline-start: 4px solid #8a1523;
  padding: 13px 16px;
  border-radius: 12px;
  font-size: 13px;
  line-height: 1.6;
  color: #4a3e39;
  margin-bottom: 22px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.showcase-banner-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(138, 21, 35, 0.1);
  color: #8a1523;
  flex-shrink: 0;
}
.showcase-banner-icon svg {
  width: 16px;
  height: 16px;
}
.showcase-customizer-bar {
  background: #231e1b;
  color: #f7f3ee;
  padding: 10px 18px;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
}
.showcase-customizer-bar span {
  background: rgba(255, 255, 255, 0.15);
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
}

/* Empty Collection Placeholder */
.shop-empty-collection {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 56px 24px;
  background: rgba(255, 255, 255, 0.65);
  backdrop-filter: blur(10px);
  border: 1px dashed rgba(35, 30, 27, 0.18);
  border-radius: 20px;
  margin: 16px 0;
  width: 100%;
}
.shop-empty-collection .empty-icon {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(138, 21, 35, 0.08);
  color: #8a1523;
  font-size: 20px;
  margin-bottom: 14px;
}
.shop-empty-collection h3 {
  font-size: 19px;
  font-weight: 700;
  margin: 0 0 8px;
  color: #231e1b;
}
.shop-empty-collection p {
  font-size: 14px;
  color: #716c68;
  max-width: 440px;
  margin: 0 auto;
  line-height: 1.6;
}




/* Launch checkout coupon and editable instructional placeholders. */
body .coupon-box #applyCoupon{background:#850c26;color:#fff!important;-webkit-text-fill-color:#fff!important;border:1px solid #850c26;padding:0 18px;min-height:44px;border-radius:12px;font:inherit;font-weight:600;cursor:pointer}
body .coupon-box #applyCoupon:disabled{opacity:.65;cursor:wait}
.customer-field-control input::placeholder,.customer-field-control textarea::placeholder{color:#8a817c;opacity:1}
