/* Phone-first overrides. Loaded last so the approved desktop configurator stays intact. */
.b-mobile-intro{display:contents}
.mobile-product-link,.mobile-gallery-hint,.checkout-mobile-total{display:none}
@media(min-width:761px){.checkout-breakdown>summary{display:none}}

@media(max-width:760px){
  html{scroll-padding-top:16px}
  body.concept-b{font-size:16px}
  .b-preview-bar{min-height:36px;padding:7px 18px;font-size:10px;line-height:1.45;text-align:center}
  .b-header,#configurator{width:calc(100% - 32px)}
  .b-header{height:64px;gap:12px}
  .b-logo{width:106px}
  .b-header nav,.b-breadcrumb{display:none}
  .b-header-cta{margin-left:auto;min-height:44px;display:grid;place-items:center;padding:8px 15px;font-size:13px}

  .b-configurator{display:flex;flex-direction:column;gap:28px;padding:18px 0 42px}
  .b-buybox{order:1;width:100%;min-width:0;padding:0}
  .b-product-media{order:2;width:100%;min-width:0}
  .b-media-frame{width:100%;max-width:none;aspect-ratio:4/5}
  .b-media-note{font-size:13px;line-height:1.6}
  .b-mobile-intro{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;align-items:center}
  .mobile-product-link{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:7px;background:var(--b-pale)}
  .mobile-product-link img{width:100%;height:100%;object-fit:contain}
  .mobile-product-link span{position:absolute;inset:auto 0 0;padding:3px 4px;background:#17313ddd;color:#fff;font-size:9px;font-weight:750;line-height:1.2;text-align:center}
  .b-product-heading{min-width:0}
  .b-kicker{font-size:10px}
  .b-buybox h1{font-size:32px;line-height:1.08;letter-spacing:-1.25px;margin-top:5px}
  .b-product-intro{font-size:16px;line-height:1.5;margin-top:7px}
  .b-included{gap:7px 13px;margin-top:18px;font-size:13px;line-height:1.45}

  .b-options{margin-top:24px}
  .b-options legend{font-size:16px;margin-bottom:12px}
  .b-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .b-option>span,.b-option input:checked+span{display:grid;grid-template-columns:1fr;gap:3px;min-height:116px;padding:13px 12px}
  .b-option input:checked+span{border-width:2px;padding:12px 11px}
  .b-option b{font-size:15px;line-height:1.25;overflow-wrap:anywhere}
  .b-option small{grid-column:auto;font-size:13px;line-height:1.35}
  .b-option strong{grid-column:auto;grid-row:auto;align-self:end;font-size:17px;line-height:1.2;white-space:normal}
  .b-option strong i{display:inline;margin-left:4px;font-size:11px;text-align:left}
  .b-selection{margin-top:21px;padding:16px 0}
  .b-selection span{font-size:17px}.b-selection small{font-size:14px}.b-selection>strong{font-size:28px}
  .b-buy-controls{grid-template-columns:1fr 1fr;gap:10px 14px;padding-top:20px}
  .b-buy-controls>label{font-size:15px;align-self:center}
  .b-quantity{height:48px;justify-self:end}.b-quantity button{width:44px;min-height:44px}.b-quantity input{width:52px;font-size:16px}
  .b-subtotal{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;text-align:left;border-top:1px solid var(--b-line);padding-top:13px}
  .b-subtotal span{font-size:14px}.b-subtotal strong{font-size:25px}
  .b-checkout{min-height:52px;margin-top:20px;font-size:16px}.b-pay-note{font-size:14px;line-height:1.6}

  .campaign-section{padding:58px 0}.campaign-section-heading{display:block;margin-bottom:25px}.campaign-section-heading>p{margin-top:15px;font-size:16px;line-height:1.65}.campaign-section-heading h2,.campaign-custom h2,.campaign-faq h2,.campaign-closing h2{font-size:30px}
  .mobile-gallery-hint{display:block;margin:-8px 0 15px;color:var(--b-muted);font-size:14px;line-height:1.55}
  .campaign-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;gap:24px 12px;max-width:100%;overflow:visible;padding:0}
  .campaign-gallery figcaption{padding-top:13px}.campaign-gallery h3{font-size:20px}.campaign-gallery figcaption>p{font-size:14px;line-height:1.65}.campaign-photo{aspect-ratio:4/5}
  .campaign-occasion-grid{grid-template-columns:1fr 1fr;gap:12px}.campaign-occasion-grid article{padding:19px 16px}.campaign-occasion-grid h3{font-size:17px;margin-top:18px}.campaign-occasion-grid p{font-size:14px;line-height:1.65}
  .campaign-custom{grid-template-columns:1fr;padding:31px 22px;gap:27px}.campaign-custom-intro>p:not(.campaign-label),.campaign-inclusion,.campaign-features dd{font-size:15px}.campaign-features{grid-template-columns:1fr;gap:20px}.campaign-process{padding-bottom:52px}
  .campaign-steps{grid-template-columns:1fr;gap:0}.campaign-steps li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:0 15px;padding:0 0 27px}.campaign-steps li:not(:last-child)::after{top:44px;left:21px;width:2px;height:calc(100% - 44px)}.campaign-steps li>span{position:relative;grid-row:span 2;top:auto;left:auto;width:44px;height:44px;padding:0}.campaign-steps h3{margin:10px 0 0;font-size:18px}.campaign-steps p{margin-top:7px;font-size:15px;line-height:1.65}.campaign-artwork-note{grid-template-columns:1fr;gap:8px;padding:20px;font-size:15px}.campaign-faq{grid-template-columns:1fr;gap:27px;padding:36px 0 44px}.campaign-faq summary{min-height:44px;font-size:16px}.campaign-faq .campaign-faq-list details{padding-bottom:17px;margin-bottom:17px}.campaign-faq details>p{font-size:15px;line-height:1.65}.campaign-closing{padding:46px 0 62px}.campaign-closing>p:not(.campaign-label){font-size:16px}.campaign-cta{width:100%;min-height:52px;font-size:16px}

  .b-details{padding-bottom:55px}.b-footer{display:block;padding:28px 16px calc(30px + env(safe-area-inset-bottom))}.b-footer>small{display:block;margin-top:18px}.b-footer nav{justify-content:flex-start;max-width:none;margin-top:22px;font-size:12px}
  body.has-mobile-order{padding-bottom:calc(94px + env(safe-area-inset-bottom))}
  #mobile-order-bar{position:fixed;z-index:20;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(255,255,255,.98);border-top:1px solid var(--b-line);box-shadow:0 -5px 22px #17313d14;padding:10px 16px max(10px,env(safe-area-inset-bottom))}
  .mobile-order-summary{min-width:0}.mobile-order-summary span,.mobile-order-summary small{display:block;color:var(--b-muted);font-size:12px;line-height:1.35}.mobile-order-summary strong{display:block;font-size:18px;line-height:1.25}.mobile-order-summary small{font-size:11px}
  #mobile-order-button{min-height:46px;flex-shrink:0;border:0;border-radius:7px;background:var(--b-teal);color:#fff;padding:10px 15px;font:750 14px/1.2 inherit}
  body:has(dialog[open]) #mobile-order-bar{display:none!important}

  body.concept-b dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;overflow-y:auto;overscroll-behavior:contain}
  .concept-b .dialog-top{position:sticky;top:0;z-index:30;padding:10px 16px}.concept-b .dialog-top .icon-button{min-width:44px;min-height:44px}
  .concept-b .checkout-layout{grid-template-columns:1fr}.concept-b .order-summary{padding:22px 18px}.concept-b .order-summary>.eyebrow{font-size:10px}.concept-b .order-summary h2{font-size:27px;margin:5px 0 10px}.concept-b .order-summary>h3{font-size:17px;margin-top:0}
  .checkout-mobile-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:14px;padding-top:13px;border-top:1px solid var(--b-line)}
  .checkout-mobile-total span{font-size:13px;color:var(--b-muted)}.checkout-mobile-total strong{font-size:18px;text-align:right}
  .checkout-breakdown{margin-top:14px;border-top:1px solid var(--b-line);border-bottom:1px solid var(--b-line)}.checkout-breakdown summary{display:flex;align-items:center;min-height:48px;cursor:pointer;font-size:15px;font-weight:750;list-style:none}.checkout-breakdown summary::-webkit-details-marker{display:none}.checkout-breakdown summary::after{content:'+';margin-left:auto;color:var(--b-teal);font-size:22px;font-weight:400}.checkout-breakdown[open] summary::after{content:'−'}.checkout-breakdown-body{padding-bottom:16px}
  .concept-b .price-breakdown>div{font-size:14px}.concept-b .price-breakdown .subtotal{font-size:16px}.concept-b .selected-dimensions,.concept-b .physical-count,.concept-b .summary-inclusions,.concept-b .no-artwork-note,.concept-b .shipping-note{font-size:14px}.concept-b .summary-inclusions{gap:7px 15px;margin-top:17px}.concept-b .checkout-readiness{font-size:13px;margin-top:14px}
  #purchase-form{padding:28px 18px calc(35px + env(safe-area-inset-bottom))}#purchase-form h3{font-size:27px}#purchase-form label:not(.agreement){font-size:14px;margin-top:18px}#purchase-form input,#purchase-form select,#purchase-form textarea{min-height:50px;font-size:16px;padding:12px}#purchase-form textarea{min-height:94px}.form-row{grid-template-columns:1fr;gap:0}.quote-status,.payment-note,.checkout-return-note{font-size:13px}.refund-notice{font-size:13px;line-height:1.65}.agreement{gap:12px;font-size:14px!important;line-height:1.6}.agreement input{width:24px;height:24px;min-height:24px;margin:0}.payment-button{min-height:52px;font-size:16px!important}.concept-b .payment-button{font-size:16px}
}

@media(min-width:651px) and (max-width:760px){
  .b-configurator{max-width:600px;margin-inline:auto}.b-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.b-option>span,.b-option input:checked+span{grid-template-columns:minmax(0,1fr) auto;min-height:76px}.b-option small{grid-column:1}.b-option strong{grid-column:2;grid-row:1 / span 2;align-self:center}.b-option strong i{display:block;margin-left:0;text-align:right}
}

@media(max-width:380px){
  .b-header,#configurator{width:calc(100% - 28px)}.b-header-cta{padding-inline:12px}.b-mobile-intro{grid-template-columns:68px minmax(0,1fr);gap:11px}.b-buybox h1{font-size:29px}.b-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-occasion-grid{grid-template-columns:1fr}.b-option>span,.b-option input:checked+span{min-height:96px}.mobile-order-summary small{display:none}#mobile-order-button{padding-inline:12px;font-size:13px}
}

@media(max-width:760px){body.concept-b #purchase-form .form-row{grid-template-columns:1fr;gap:0}#purchase-form .agreement input{width:24px;height:24px;min-height:24px;padding:0}.b-option strong{font-size:19px}.b-option strong i{display:block;margin-left:0;font-size:12px}.b-footer nav a{display:inline-flex;align-items:center;min-height:44px}.b-quantity input{font-family:inherit}.b-checkout,#mobile-order-button{font-family:inherit;font-weight:750}html{scroll-padding-bottom:110px}.mobile-product-link:focus-visible{outline:3px solid var(--b-teal);outline-offset:3px}}
@media(max-width:760px){#mobile-order-button{font-size:15px;line-height:1.25}.b-option small{order:3}.b-option strong{order:2}.b-option b{order:1}}
@media(max-width:760px){.b-selection{display:none}}
@media(max-width:760px){.mobile-order-summary strong,.mobile-order-summary span{overflow-wrap:anywhere}.b-subtotal strong{max-width:64%;min-width:0;overflow-wrap:anywhere;text-align:right}body.has-mobile-order{padding-bottom:calc(124px + env(safe-area-inset-bottom))}}


@media(max-width:760px){body.concept-b{padding-top:env(safe-area-inset-top)}.concept-b .dialog-top{padding-top:calc(10px + env(safe-area-inset-top))}}
