.header-cart { min-height:42px; padding:0 3px; }
.header-cart > .cart-icon { display:grid; place-items:center; width:22px; height:22px; color:var(--rose-dark); font-size:0; }
.header-cart > .cart-icon svg { width:21px; height:21px; }
.header-cart > .cart-label { color:var(--ink); font-size:13px; line-height:1; }

@media (max-width:820px) {
  body { font-size:15px; }
  .shipping-bar { min-height:34px; padding:8px 16px; font-size:9px; letter-spacing:.1em; }
  .site-header { position:relative; min-height:72px; gap:10px; }
  .brand img { width:96px; }
  .nav-toggle { order:2; margin-left:auto; padding:8px 3px 8px 10px; }
  .header-cart { order:3; margin-left:0; }
  .main-nav { top:calc(100% - 7px); right:16px; left:16px; gap:4px; padding:12px; border-radius:14px; box-shadow:0 18px 38px rgba(79,28,48,.14); }
  .main-nav a { padding:11px 12px; border-radius:9px; }
  .main-nav .nav-cta { margin-top:5px; }
  .hero { gap:28px; margin-bottom:64px; }
  .hero-copy { padding-top:27px; }
  .hero h1 { max-width:590px; font-size:clamp(46px,9vw,59px); margin-bottom:16px; }
  .hero-text { max-width:540px; margin-bottom:23px; font-size:16px; line-height:1.58; }
  .hero-actions { gap:17px; }
  .hero-notes { gap:12px 18px; margin-top:26px; }
  .hero-visual { min-height:330px; border-radius:32px 32px 16px 16px; }
  .hero-arch { inset:38px 74px 0; border-radius:170px 170px 0 0; }
  .gift-large { top:126px; right:calc(50% - 115px); }
  .gift-small { top:215px; left:15%; transform:scale(.72) rotate(10deg); transform-origin:center; }
  .hero-stamp { top:41px; left:12%; transform:scale(.72) rotate(-12deg); transform-origin:top left; }
  .sparkle-one { top:77px; left:65%; }
  .sparkle-two { display:none; }
  .sparkle-three { bottom:23px; right:15%; }
  .intro-section,.catalog-section,.steps-section,.occasion-section,.custom-gift-section { margin-bottom:70px; }
  .intro-section { text-align:left; }
  .intro-section h2,.section-heading h2 { font-size:clamp(34px,7vw,42px); }
  .intro-section > p:last-child { font-size:16px; }
  .section-heading { gap:10px; margin-bottom:22px; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .product-info { padding:17px; }
  .product-info h3 { font-size:24px; }
  .product-info p { min-height:0; margin-bottom:15px; }
  .occasion-section { gap:14px; }
  .occasion-card { min-height:0; padding:30px; }
  .occasion-card-main h3 { font-size:36px; }
  .custom-gift-section { gap:25px; padding:34px; }
  .steps-list { gap:0; }
  .steps-list li { padding:34px 0 17px; }
  .cta-section { margin-bottom:42px; padding:34px; }
  .site-footer { padding:30px 0 24px; }
  .cart-drawer { padding:24px; }
  .cart-quantity button { width:32px; height:32px; }
  .cart-summary .button { width:100%; }
  .admin-shell { padding-bottom:42px; }
}

@media (max-width:640px) {
  .site-header,.hero,.catalog-section,.steps-section,.occasion-section,.cta-section,.site-footer { width:min(100% - 32px,640px); }
  .shipping-bar span:nth-child(n+2) { display:none; }
  .shipping-bar { justify-content:flex-start; padding-left:16px; }
  .brand img { width:86px; }
  .header-cart { position:relative; width:42px; height:42px; padding:0; justify-content:center; border:1px solid var(--line); border-radius:12px; background:#fff; }
  .header-cart > .cart-label { display:none; }
  .header-cart > .cart-icon { width:21px; height:21px; }
  .header-cart b { position:absolute; top:2px; right:1px; min-width:16px; height:16px; border:2px solid var(--cream); font-size:9px; }
  .nav-toggle { width:40px; height:42px; padding:4px; border:1px solid var(--line); border-radius:12px; background:#fff; }
  .nav-toggle span:not(.sr-only) { width:20px; margin:4px auto; }
  .main-nav { top:calc(100% - 7px); }
  .hero { gap:24px; margin-bottom:56px; }
  .hero-copy { padding-top:22px; }
  .eyebrow { margin-bottom:9px; font-size:9px; letter-spacing:.13em; }
  .hero h1 { font-size:clamp(42px,13vw,51px); line-height:1.02; }
  .hero-actions { flex-direction:column; align-items:stretch; gap:14px; }
  .hero-actions .button { width:100%; min-height:50px; }
  .hero-actions .text-link { justify-content:center; min-height:30px; }
  .hero-notes { display:grid; gap:7px; margin-top:21px; font-size:11px; }
  .hero-visual { min-height:246px; border-radius:24px 24px 14px 14px; }
  .hero-arch,.gift-small,.hero-stamp,.sparkle { display:none; }
  .gift-large { width:164px; height:140px; top:78px; right:calc(50% - 82px); border-radius:6px; box-shadow:0 16px 26px rgba(77,24,43,.18); transform:rotate(-5deg); }
  .gift-bow:before,.gift-bow:after { top:-22px; width:50px; height:30px; border-width:7px; }
  .gift-label { padding:5px 7px; font-size:11px; }
  .intro-section { width:min(100% - 48px,560px); margin-bottom:57px; }
  .intro-section h2,.section-heading h2 { font-size:34px; line-height:1.08; }
  .catalog-section,.steps-section,.occasion-section,.custom-gift-section { margin-bottom:56px; }
  .section-heading { align-items:flex-start; flex-direction:column; margin-bottom:18px; }
  .section-heading .text-link { font-size:13px; }
  .product-grid { grid-template-columns:1fr; gap:12px; }
  .product-card { display:grid; grid-template-columns:112px minmax(0,1fr); min-height:140px; border-radius:14px; }
  .product-image,.product-placeholder { height:100%; min-height:140px; aspect-ratio:auto; }
  .product-placeholder { font-size:22px; }
  .product-info { display:flex; min-width:0; flex-direction:column; padding:15px; }
  .product-category { margin-bottom:4px; font-size:9px; }
  .product-info h3 { margin-bottom:5px; font-size:22px; line-height:1.06; }
  .product-info p { display:-webkit-box; overflow:hidden; margin-bottom:11px; font-size:12px; line-height:1.42; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .product-bottom { margin-top:auto; }
  .product-price,.product-order { font-size:12px; }
  .empty-catalog { padding:32px 20px; border-radius:14px; }
  .empty-catalog h3 { font-size:27px; }
  .occasion-section { display:block; }
  .occasion-card { padding:26px; border-radius:16px; }
  .occasion-card-main h3 { margin-bottom:17px; font-size:33px; }
  .occasion-card-list { display:none; }
  .custom-gift-section { display:block; padding:28px 24px; border-radius:16px; background:#fff; }
  .custom-gift-illustration { display:none; }
  .custom-gift-section h2 { font-size:34px; line-height:1.08; }
  .custom-gift-section p:not(.eyebrow) { margin-bottom:21px; font-size:15px; }
  .custom-gift-section .button { width:100%; min-height:50px; }
  .steps-list li { min-height:0; padding:30px 0 15px 44px; }
  .steps-list span { top:15px; left:0; font-size:11px; }
  .steps-list h3 { margin-bottom:5px; font-size:26px; }
  .steps-list p { margin:0; font-size:14px; }
  .cta-section { gap:18px; margin-bottom:35px; padding:28px 24px; border-radius:16px; }
  .cta-section h2 { font-size:34px; line-height:1.08; }
  .cta-section .button { width:100%; min-height:50px; }
  .site-footer { justify-items:center; padding-top:26px; text-align:center; }
  .site-footer p { max-width:240px; }
  .site-footer small { padding-top:12px; }
  .cart-drawer { padding:20px 16px; }
  .cart-head { padding-bottom:16px; }
  .cart-head h2 { font-size:31px; }
  .cart-items { padding:16px 0; }
  .cart-item { grid-template-columns:58px minmax(0,1fr); }
  .cart-item-image { width:58px; height:58px; }
  .cart-item h3 { font-size:18px; }
  .cart-custom { padding:14px; }
  .admin-shell { width:min(100% - 24px,640px); padding-top:16px; }
  .login-card { margin:2vh auto; padding:27px 21px; border-radius:16px; }
  .admin-header { gap:12px; padding-bottom:21px; }
  .admin-header .brand img { width:78px; }
  .admin-header h1,.login-card h1 { font-size:32px; }
  .admin-header-actions { width:100%; justify-content:space-between; }
  .admin-form-card,.admin-list-card { padding:18px; border-radius:14px; }
  .admin-summary { gap:10px; margin:16px 0; padding:18px; }
  .admin-form-card .button { width:100%; min-height:48px; }
}
