/* Small screens use fewer controls per card, never a shrunken desktop card. */
html{-webkit-text-size-adjust:100%}.card-meta{font-size:12px;line-height:1.5;color:#806a60;margin:0 0 10px}.product-brand{font-size:12px}.body h3{font-size:15px;line-height:1.45;min-height:44px}.num{font-size:11px}.card-price>span,.card-price del{font-size:11px}.coupon-line{font-size:11px}.row .outline{min-height:44px;font-size:14px}.tabs button{min-height:44px;font-size:13px}.searchrow input{font-size:16px;min-height:44px}.catalog-note{font-size:12px}.searchrow output{font-size:12px}.load-more{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:56px;width:100%;margin-top:18px;border:1px solid #d6b9aa;border-radius:12px;color:#633d3c;background:#fff;font-size:14px;font-weight:700}.load-more span{font-size:12px;color:#8a6f64;font-weight:400;margin-top:4px}.close,.reward-close{width:44px;height:44px;min-height:44px}.reward-back,footer button,.text-button{min-height:44px}.top{width:44px;height:44px;bottom:12px;right:10px}.form-field input,.form-field textarea,.config-select{font-size:16px}.color-picks{grid-gap:8px}.color-pick{min-height:76px;font-size:12px}.hero-tile span{font-size:12px}.hero-tile{min-height:44px}.header-offer{min-height:44px}.guide-controls button{min-height:44px;font-size:12px}
/* vh fallback is needed when dynamic viewport units are unavailable. */
dialog{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);-webkit-overflow-scrolling:touch}#rewardDialog{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}body.modal-active{overflow:hidden}dialog.polyfilled-dialog{position:fixed;top:50%;transform:translateY(-50%);margin:0 auto;left:0;right:0}dialog+.backdrop{position:fixed;background:rgba(56,33,41,.6)}.dialog-polyfill-backdrop{background:rgba(56,33,41,.6)}
/* Margin fallbacks preserve usable spacing on Safari versions without flex gap. */
.no-flex-gap .tabs button{margin-right:7px}.no-flex-gap .brand-mark{margin-right:8px}.no-flex-gap .hero-value strong{margin-right:12px}.no-flex-gap .hero-tile+.hero-tile{margin-left:8px}.no-flex-gap .card-price>*+*{margin-left:4px}.no-flex-gap .reward-product>img,.no-flex-gap .guide-product>img{margin-right:10px}.no-flex-gap .reward-due{margin-left:7px}.no-flex-gap .guide-menu>div>span{margin-left:9px}.no-flex-gap .guide-controls button+button{margin-left:7px}.no-flex-gap .consent input{margin-right:10px}.no-flex-gap .choices>button{margin:0 7px 7px 0}
@media(max-width:700px){
  .wrap{padding:0 12px}.grid{grid-gap:12px;gap:12px}.card{min-width:0}.pic{height:148px;padding:27px 12px 10px}.body{padding:11px}.body h3{font-size:14px;min-height:41px;margin:4px 0 6px;word-break:normal;overflow-wrap:break-word}.product-brand{font-size:12px;line-height:1.4}.card-meta{font-size:11px;margin-bottom:9px}.card-price{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;margin-top:auto}.card-price strong{font-size:28px}.card-price strong small{font-size:14px}.card-price>span{font-size:11px}.card-price del{font-size:11px;margin-left:auto}.coupon-line{font-size:11px;padding:4px 5px;line-height:1.4}.row{margin-top:10px}.row .outline{min-height:44px;font-size:13px;padding:9px 11px}.num{font-size:11px;padding:4px 6px}.tools{padding-top:6px;background:#fff8f3;backdrop-filter:none;-webkit-backdrop-filter:none}.searchrow{gap:8px}.searchrow input{font-size:16px;padding-left:34px;padding-top:10px;padding-bottom:10px}.searchrow output{font-size:11px}.tabs{padding:8px 0;gap:6px}.tabs button{font-size:13px;min-height:44px;padding:8px 13px}.catalog-note{font-size:11px;line-height:1.6;margin:4px 0 12px}.catalog-intro{margin-top:19px;margin-bottom:10px}.catalog-intro h2{font-size:23px}.section-kicker{font-size:11px}.trust>span{font-size:11px}.trust>span:last-child{font-size:11px}.hero .hero-cta{font-size:15px;min-height:46px}.hero .hero-note{font-size:11px;line-height:1.5}.hero .hero-description{font-size:13px}.eyebrow{font-size:11px}.header-offer{font-size:12px}.hero-tile span{font-size:11px}.hero-tiles .hero-tile img{height:62px}.brand{font-size:20px}.faq p{font-size:12px}.how-grid p{font-size:12px}.how-grid strong{font-size:14px}.top{box-shadow:none}dialog{width:calc(100% - 20px);max-width:560px}.modal-inner{padding:16px}.modal-inner h2{font-size:19px}.muted,.steps{font-size:13px}.detail-image{height:160px}.guide-scene{height:300px}.guide-phone{height:300px}.guide-controls button{padding:8px}.close{top:7px;margin:7px 7px 0 0}.reward-close{top:7px;right:7px}.reward-preview,.reward-terms{font-size:11px}.reward-ticket>strong{font-size:56px}.reward-ticket small{font-size:25px}.reward-cta{font-size:14px}
}
/* 375×667 (iPhone 6/7) and similarly short viewports: shorten promotion before catalogue. */
@media(max-width:700px) and (max-height:720px){
  header{padding:7px 1px}.notice{font-size:11px;padding:3px 8px}.hero-copy{padding:15px 20px 14px}.hero h1{margin:0 0 4px}.hero .eyebrow{display:none}.hero-lead{font-size:21px}.hero-value strong{font-size:64px;letter-spacing:-4px}.hero-value{margin-top:0}.coupon-stamp{font-size:12px}.hero .hero-description{margin:6px 0 10px;font-size:13px;line-height:1.5}.hero .hero-note{margin:7px 0 0}.hero-tiles{display:none}.hero .hero-cta{padding:11px 14px}.trust{padding:10px 0}.catalog-intro{margin-top:15px}.catalog-flower{font-size:30px}.catalog-intro h2{font-size:22px}.catalog-intro .section-kicker{display:none}.reward-art{display:none}.reward-eyebrow{margin-top:24px}.reward-sub{font-size:12px;margin:7px 0 12px}.reward-ticket>strong{font-size:50px}.reward-terms{margin-bottom:5px}
}
/* At 320 px, one roomy horizontal card is easier to read than two narrow columns. */
@media(max-width:359px){
  .wrap{padding:0 10px}.grid{grid-template-columns:minmax(0,1fr);grid-gap:12px;gap:12px}.card{display:grid;grid-template-columns:105px minmax(0,1fr);align-items:stretch}.pic{height:100%;min-height:190px;padding:35px 8px 12px}.pic img{height:125px;max-height:165px;align-self:center}.body{padding:11px}.body h3{font-size:15px;min-height:0;margin-bottom:5px}.product-brand{font-size:12px}.card-meta{font-size:11px}.card-price strong{font-size:29px}.card-price>span,.card-price del{font-size:11px}.coupon-line{font-size:11px}.row .outline{font-size:13px;min-height:44px}.row{margin-top:9px}.catalog-intro h2{font-size:21px}.searchrow output{display:none}.hero-value strong{font-size:62px}.hero .hero-description{font-size:13px}.hero .hero-cta{font-size:14px}.trust>span,.trust>span:last-child{font-size:10px}.hero-tile span{font-size:11px}
}
@media(max-width:700px){
  .card-price{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:5px;row-gap:0;align-items:center}
  .card-price>span{grid-column:1;grid-row:1;line-height:1.3}
  .card-price del{grid-column:1;grid-row:2;line-height:1.3;margin:0}
  .card-price strong{grid-column:2;grid-row:1 / span 2;justify-self:end}
  .top{position:static;display:block;margin:0 auto 20px}
}
