/* Purchase views share the native CMS typography and restrained editorial rhythm.
   Form methods, native states, hooks and portrait image sources remain unchanged. */
.mgm-purchase{--mgm-purchase-accent:#a80a0b;color:#454545;font-family:Lato,Arial,sans-serif;font-size:15px;line-height:1.7;min-width:0;overflow-wrap:anywhere}
.mgm-purchase h1.page-title-section{position:relative;font-size:clamp(30px,3vw,40px);font-weight:700;line-height:1.2;letter-spacing:-.7px;padding:0 0 24px;margin:0 0 28px;border-bottom:1px solid #e6e6e6}
.mgm-purchase h1.page-title-section:after{content:'';position:absolute;left:0;bottom:-1px;width:48px;height:3px;background:var(--mgm-purchase-accent)}
.mgm-purchase h1.page-title-section+hr,.mgm-purchase .step__title>hr{display:none}
.mgm-purchase h2,.mgm-purchase .h2{font-size:23px;line-height:1.4;font-weight:700;letter-spacing:-.25px}
.mgm-purchase h3,.mgm-purchase .h3{font-size:18px;line-height:1.5;font-weight:700}
.mgm-purchase a{color:#454545;text-underline-offset:4px;overflow-wrap:anywhere}
.mgm-purchase a:hover{color:var(--mgm-purchase-accent)}
.mgm-purchase .btn,#blockcart-modal .btn{border-radius:0;font-size:14px;font-weight:700;line-height:1.5;padding:13px 20px;min-height:46px;letter-spacing:0;white-space:normal;text-decoration:none}
.mgm-purchase .btn-primary,#blockcart-modal .btn-primary{background:#a80a0b;border-color:#a80a0b;color:#fff}
.mgm-purchase .btn-primary:hover,#blockcart-modal .btn-primary:hover{background:#890809;border-color:#890809;color:#fff}
.mgm-purchase .btn-outline-primary,#blockcart-modal .btn-outline-primary{background:#fff;border-color:#c9c9c9;color:#333}
.mgm-purchase .btn-outline-primary:hover,#blockcart-modal .btn-outline-primary:hover{border-color:#a80a0b;color:#a80a0b;background:#fff}
.mgm-purchase .btn:hover,.mgm-purchase .btn:focus{text-decoration:none}
.mgm-purchase .btn.disabled,.mgm-purchase .btn:disabled{opacity:.5}
.mgm-purchase :is(a,button,input,select,textarea):focus-visible,#blockcart-modal :is(a,button):focus-visible{outline:2px solid #a80a0b;outline-offset:3px}
.mgm-purchase .btn-basic{padding-inline:0;color:#555;text-decoration:underline}
.mgm-purchase .form-control,.mgm-purchase .form-select{border:1px solid #d5d5d5;border-radius:0;min-height:46px;background-color:#fff;color:#333;font:400 15px/1.5 Lato,Arial,sans-serif;padding:11px 13px}
.mgm-purchase textarea.form-control{min-height:110px}
.mgm-purchase .form-control:focus,.mgm-purchase .form-select:focus{border-color:#a80a0b;box-shadow:0 0 0 2px #a80a0b12}
.mgm-purchase .form-label{font-size:14px;line-height:1.5;font-weight:700;margin-bottom:8px}
.mgm-purchase .form-text{font-size:12px;line-height:1.6;color:#747474;margin-top:6px}
.mgm-purchase .form-check-label{font-size:14px;line-height:1.7;font-weight:400}
.mgm-purchase .form-check-input:checked{background-color:#a80a0b;border-color:#a80a0b}
.mgm-purchase .form-check-input:focus{border-color:#a80a0b;box-shadow:0 0 0 2px #a80a0b18}
.mgm-purchase .invalid-feedback,.mgm-purchase .text-danger{font-size:13px;line-height:1.6}
.mgm-purchase .alert{border-radius:0;font-size:14px;line-height:1.7}

/* Cart: open product rows and one quiet summary, without nested panels. */
.mgm-purchase--cart{padding-block:8px 40px}
.mgm-purchase .cart-grid{--bs-gutter-x:48px;--bs-gutter-y:32px}
.mgm-purchase .cart-grid__aside-wrapper{padding:26px 28px;border:1px solid #e7e7e7;background:#fafafa;box-shadow:none}
.mgm-purchase .cart-grid__aside-wrapper>h2{font-size:21px;margin:0 0 24px}
.mgm-purchase .cart-grid__aside-wrapper>hr{display:none}
.mgm-purchase .cart__list{margin:0;padding:0;list-style:none}
.mgm-purchase .cart__overview>hr{display:none}
.mgm-purchase .cart__item{padding-block:0;margin:0;border:0}
.mgm-purchase .product-line{gap:24px;padding:0 0 24px;margin:0 0 24px;border-bottom:1px solid #e8e8e8}
.mgm-purchase .product-line__image{flex:0 0 112px;width:112px;min-width:0}
.mgm-purchase .product-line__image picture{display:block;width:100%}
.mgm-purchase .product-line__image img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;aspect-ratio:25/36}
.mgm-purchase .product-line__content{flex:1;min-width:0;gap:16px}
.mgm-purchase .product-line__content-left{min-width:0;flex:1}
.mgm-purchase .product-line__title{font-size:16px;line-height:1.55;font-weight:700;text-decoration:none}
.mgm-purchase .product-line__item{font-size:14px;line-height:1.6;margin-block:5px}
.mgm-purchase .product-line__item-label{color:#777}
.mgm-purchase .product-line__item--prices{margin-top:10px}
.mgm-purchase .product-line__item-price,.mgm-purchase .product-line__price{font-size:15px;font-weight:700}
.mgm-purchase .product-line__content-right{flex:0 0 132px;min-width:0;text-align:right}
.mgm-purchase .product-line__quantity-button{width:132px;max-width:100%}
.mgm-purchase .quantity-button__group{display:flex;flex-wrap:nowrap;width:100%}
.mgm-purchase .quantity-button__group .btn{flex:0 0 40px;width:40px;min-width:0;min-height:42px;height:42px;padding:8px;background:#fff;color:#333;border:1px solid #d7d7d7}
.mgm-purchase .quantity-button__group .form-control{flex:1 1 44px;width:44px;min-width:0;max-width:none!important;min-height:42px;height:42px;padding:8px 2px;text-align:center;font-size:14px}
.mgm-purchase .product-line__price{margin-top:12px}
.mgm-purchase .product-line__actions{width:100%;padding-top:8px}
.mgm-purchase .js-remove-from-cart{font-size:13px;color:#777;text-decoration:underline;text-decoration-color:#c9c9c9}
.mgm-purchase .cart__continue-shopping{margin-top:0}
.mgm-purchase .cart-summary__line{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-size:14px;line-height:1.6;margin:0;padding:9px 0}
.mgm-purchase .cart-summary__label{min-width:0;color:#666;flex:1}
.mgm-purchase .cart-summary__value{text-align:right;flex-shrink:0;color:#333;font-weight:700}
.mgm-purchase .cart-summary__total{border-top:1px solid #e3e3e3;border-bottom:1px solid #e3e3e3;margin-top:14px;padding:12px 0}
.mgm-purchase .cart-summary__total .cart-summary__line{font-size:16px}
.mgm-purchase .cart-summary__total .cart-summary__label{color:#333;font-weight:700}
.mgm-purchase .cart-summary__actions{padding-top:20px;margin:0}
.mgm-purchase .cart-summary__actions .btn{width:100%}
.mgm-purchase .cart-voucher{margin-top:20px}
.mgm-purchase .cart-voucher__accordion-button{font-size:14px;padding:15px 0;background:transparent;color:#555}
.mgm-purchase .cart-voucher__form{display:flex;gap:8px;min-width:0}
.mgm-purchase .cart-voucher__form .form-control{min-width:0;flex:1}
.mgm-purchase .cart-voucher__form .btn{flex:0 0 auto}
.mgm-purchase .cart__empty{padding:30px 0 6px;color:#666;font-size:16px;line-height:1.8}
.mgm-purchase .mgm-empty-cart{padding:0 0 20px;margin:0 0 24px;max-width:60ch;font-size:14px;line-height:1.85;color:#777;border-bottom:1px solid #e8e8e8}
.mgm-purchase .cart-grid__footer{margin-top:56px}

/* Native four-step checkout keeps its states, buttons and validation. */
.mgm-purchase--checkout .mgm-checkout-help{padding-block:22px 26px;font-size:14px;line-height:1.7}
.mgm-purchase--checkout .mgm-checkout-help p{margin:0 0 10px}
.mgm-purchase--checkout .mgm-checkout-help nav h2{font-size:16px;margin:14px 0 10px}
.mgm-purchase--checkout .mgm-checkout-help nav ul{gap:10px 24px;margin-bottom:0;font-size:13px}
.mgm-purchase--checkout .checkout-steps{background:#fff;border-top:1px solid #e8e8e8;border-bottom:1px solid #e8e8e8;margin-bottom:38px}
.mgm-purchase--checkout .checkout-steps__desktop{padding-block:24px}
.mgm-purchase--checkout .checkout-steps__list{max-width:920px;margin-inline:auto}
.mgm-purchase--checkout .checkout-steps__btn{color:#777;font-size:14px;font-weight:400}
.mgm-purchase--checkout .checkout-steps__btn.active{color:#a80a0b;font-weight:700}
.mgm-purchase--checkout .checkout-steps__number{font-size:12px;font-weight:700}
.mgm-purchase--checkout .checkout-steps__step--current .checkout-steps__number{background:#a80a0b;border-color:#a80a0b;color:#fff}
.mgm-purchase--checkout .checkout-steps__mobile{padding-block:20px}
.mgm-purchase--checkout .checkout-steps__title{font-size:17px;font-weight:700;line-height:1.5}
.mgm-purchase--checkout .checkout-steps__subtitle{font-size:13px;color:#777}
.mgm-purchase--checkout .progress-ring{color:#a80a0b!important}
.mgm-purchase--checkout .progress-ring__circle{stroke:#a80a0b}
.mgm-purchase--checkout .checkout-grid{--bs-gutter-x:56px;--bs-gutter-y:28px}
.mgm-purchase--checkout .step__title{margin-bottom:26px}
.mgm-purchase--checkout .step__content{font-size:14px;line-height:1.75}
.mgm-purchase--checkout .nav-underline{gap:24px;margin-bottom:26px;border-bottom:1px solid #e6e6e6}
.mgm-purchase--checkout .nav-underline .nav-link{font-size:14px;line-height:1.6;padding:0 0 13px;color:#777;font-weight:400}
.mgm-purchase--checkout .nav-underline .nav-link.active{color:#a80a0b;font-weight:700;border-bottom-color:#a80a0b}
.mgm-purchase--checkout .checkout-grid__aside-wrapper{border:1px solid #e7e7e7;background:#fafafa;padding:24px 26px;box-shadow:none}
.mgm-purchase--checkout .checkout__summary-accordion-item{border:0;background:transparent}
.mgm-purchase--checkout .checkout__summary-accordion-header .accordion-button{padding:0 0 20px;font-size:21px;font-weight:700;color:#333;background:transparent;box-shadow:none}
.mgm-purchase--checkout .checkout__summary-accordion-wrapper,.mgm-purchase--checkout .cart-summary__products-accordion,.mgm-purchase--checkout .cart-summary__products-accordion .accordion-item{background:transparent}
.mgm-purchase--checkout .cart-summary__products-number{font-size:14px;color:#777;padding-bottom:14px}
.mgm-purchase--checkout .cart-summary__products-accordion .accordion-button{background:transparent;font-size:14px;color:#555;padding:14px 0}
.mgm-purchase--checkout .cart-summary-product{gap:14px;padding-block:16px}
.mgm-purchase--checkout .cart-summary-product__image{flex:0 0 60px;width:60px;min-width:0}
.mgm-purchase--checkout .cart-summary-product__image img{display:block;width:100%;height:auto;object-fit:contain;aspect-ratio:25/36;max-height:none}
.mgm-purchase--checkout .cart-summary-product__content{min-width:0;gap:10px}
.mgm-purchase--checkout .cart-summary-product__link{font-size:13px;line-height:1.5;font-weight:700}
.mgm-purchase--checkout .cart-summary-product__attribute,.mgm-purchase--checkout .cart-summary-product__prices{font-size:12px;line-height:1.6}
.mgm-purchase--checkout .cart-summary-product__total{font-size:13px}
.mgm-purchase--checkout .address__item{border-radius:0;border-color:#dedede;box-shadow:none}
.mgm-purchase--checkout .delivery-option{border-radius:0;border-color:#dedede;background:#fff}
.mgm-purchase--checkout .address-card{border:1px solid #dedede;border-radius:0;background:#fff;box-shadow:none}
.mgm-purchase--checkout .address-card.selected{border-color:#a80a0b;background:#fff}
.mgm-purchase--checkout .address-card__alias{font-size:17px;line-height:1.5;font-weight:700}
.mgm-purchase--checkout .address-card__content{font-size:14px;line-height:1.85;color:#555}
.mgm-purchase--checkout .address-card__actions{font-size:13px;gap:20px}
.mgm-purchase--checkout .delivery-option__item{border:1px solid #e3e3e3;border-radius:0;background:#fff;margin-bottom:18px}
.mgm-purchase--checkout .delivery-option__label{border-radius:0;background:transparent;padding:20px;font-size:14px;line-height:1.75}
.mgm-purchase--checkout .delivery-option__carrier-name{font-weight:700}
.mgm-purchase--checkout .delivery-option__content{font-size:13px;color:#777}
.mgm-purchase--checkout .delivery-option__price{font-size:14px;font-weight:700;color:#333}
.mgm-purchase--checkout .payment-option{padding:18px 0;border-bottom:1px solid #e7e7e7;margin-bottom:16px}
.mgm-purchase--checkout .payment-option__additional-information{margin:12px 0 0 26px;font-size:14px;line-height:1.8;color:#777}
.mgm-purchase--checkout .buttons-wrapper{gap:14px;margin-top:24px!important}
.mgm-purchase--checkout .mgm-checkout-footer{padding-block:28px;margin-top:38px;border-color:#e5e5e5;font-size:13px;color:#777}
.mgm-purchase--checkout .mgm-checkout-footer h2{font-size:18px;margin-bottom:12px;color:#333}
.mgm-purchase--checkout .mgm-checkout-footer ul{line-height:2;font-size:13px}

/* Added-to-cart modal: same buttons and editorial title, portrait untouched. */
#blockcart-modal{font-family:Lato,Arial,sans-serif;color:#454545}
#blockcart-modal .modal-content{border:0;border-radius:0;box-shadow:0 12px 50px #0002}
#blockcart-modal .modal-header{padding:26px 30px 22px;border-color:#e8e8e8;align-items:flex-start}
#blockcart-modal .blockcart-modal__title{font-size:24px;line-height:1.4;letter-spacing:-.3px;font-weight:700;color:#333}
#blockcart-modal .blockcart-modal__title-icon{color:#a80a0b;font-size:23px}
#blockcart-modal .modal-body{padding:28px 30px}
#blockcart-modal .blockcart-modal__image{display:block;width:auto;max-width:100%;height:auto;max-height:250px;object-fit:contain;aspect-ratio:25/36;margin-inline:auto}
#blockcart-modal .blockcart-modal__name{font-size:16px;line-height:1.6;font-weight:700;margin-bottom:12px}
#blockcart-modal .blockcart-modal__price{font-size:16px;font-weight:700;margin-block:10px}
#blockcart-modal .blockcart-modal__property,#blockcart-modal .blockcart-modal__quantity{font-size:13px;line-height:1.7;margin-top:6px;color:#666}
#blockcart-modal .blockcart-modal__nb-products{font-size:14px;line-height:1.7;color:#777;margin-bottom:16px}
#blockcart-modal .blockcart-modal__total{font-size:14px;line-height:1.7;padding-block:6px;gap:14px}
#blockcart-modal .blockcart-modal__total--bold{font-weight:700;color:#333}
#blockcart-modal .modal-footer{padding:22px 30px 26px;gap:12px;border-color:#e8e8e8}
#blockcart-modal .btn-close{margin-top:2px}

/* Existing confirmations remain read-only native order records. */
.mgm-purchase--confirmation{max-width:1000px;margin-inline:auto;padding-block:8px 40px}
.mgm-purchase--confirmation>.alert-success{background:#fff;border:0;color:#454545;padding:0;margin-bottom:34px}
.mgm-purchase--confirmation>.alert-success p{font-size:15px;line-height:1.85}
.mgm-purchase--confirmation .order-confirmation__details{border-color:#e7e7e7!important;border-radius:0;box-shadow:none;margin-top:28px}
.mgm-purchase--confirmation .order-confirmation__details>.card-body{padding:28px}
.mgm-purchase--confirmation .order-confirmation__details-list{font-size:14px;line-height:1.9;padding-inline-start:20px;margin-block:18px 24px}
.mgm-purchase--confirmation .order-confirmation-table{font-size:14px;line-height:1.7}
.mgm-purchase--confirmation .order-confirmation-table img{height:auto;object-fit:contain;aspect-ratio:25/36}
.mgm-purchase--confirmation .order-confirmation__product-image{flex:0 0 80px;width:80px;min-width:0}
.mgm-purchase--confirmation .order-confirmation__product-img{display:block;width:100%;height:auto;object-fit:contain;aspect-ratio:25/36;max-height:none}
.mgm-purchase--confirmation .order-confirmation__product-content{min-width:0}
.mgm-purchase--confirmation .card{border-radius:0;box-shadow:none}

@media(max-width:1199px){
  .mgm-purchase .cart-grid,.mgm-purchase--checkout .checkout-grid{--bs-gutter-x:32px}
  .mgm-purchase .cart-grid__aside-wrapper,.mgm-purchase--checkout .checkout-grid__aside-wrapper{padding:22px}
  .mgm-purchase .product-line{gap:18px}
  .mgm-purchase .product-line__image{flex-basis:96px;width:96px}
  .mgm-purchase .product-line__content-right{flex-basis:116px}
  .mgm-purchase .product-line__quantity-button{width:116px}
  .mgm-purchase .quantity-button__group .btn{flex-basis:36px;width:36px}
}
@media(max-width:991px){
  .mgm-purchase .cart-grid,.mgm-purchase--checkout .checkout-grid{--bs-gutter-x:24px}
  .mgm-purchase .cart-grid__aside,.mgm-purchase--checkout .checkout-grid__aside{margin-top:8px}
  .mgm-purchase .cart-grid__aside-wrapper,.mgm-purchase--checkout .checkout-grid__aside-wrapper{position:static;padding:24px}
  .mgm-purchase--checkout .checkout-steps{margin-bottom:28px}
  .mgm-purchase--checkout .checkout__summary-accordion-header .accordion-button{font-size:19px;padding-bottom:0}
  .mgm-purchase--checkout .checkout__summary-accordion-wrapper{padding-top:20px}
  #blockcart-modal .modal-header{padding:22px 24px 18px}
  #blockcart-modal .modal-body{padding:24px}
  #blockcart-modal .modal-footer{padding:20px 24px 24px}
  #blockcart-modal .blockcart-modal__product>.row{display:grid;grid-template-columns:100px minmax(0,1fr);gap:20px;margin:0}
  #blockcart-modal .blockcart-modal__product>.row>div{width:auto;padding:0;min-width:0}
  #blockcart-modal .blockcart-modal__image{max-height:none;width:100%;height:auto}
}
@media(max-width:767px){
  .mgm-purchase{font-size:14px}
  .mgm-purchase h1.page-title-section{font-size:30px;line-height:1.25;letter-spacing:-.45px;padding-bottom:20px;margin-bottom:24px}
  .mgm-purchase h2,.mgm-purchase .h2{font-size:21px}
  .mgm-purchase--cart{padding-block:0 28px}
  .mgm-purchase .cart-grid{--bs-gutter-y:24px}
  .mgm-purchase .cart-grid__aside-wrapper{padding:22px}
  .mgm-purchase .cart-grid__aside-wrapper>h2{font-size:20px;margin-bottom:18px}
  .mgm-purchase .product-line{gap:16px;padding-bottom:22px;margin-bottom:22px}
  .mgm-purchase .product-line__image{flex-basis:82px;width:82px}
  .mgm-purchase .product-line__content{display:flex;flex-direction:column;justify-content:flex-start;gap:12px;height:auto}
  .mgm-purchase .product-line__title{font-size:15px;line-height:1.55}
  .mgm-purchase .product-line__content-left{width:100%}
  .mgm-purchase .product-line__content-right{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;width:100%;height:auto;text-align:left}
  .mgm-purchase .product-line__quantity-button{width:116px;flex:0 0 116px}
  .mgm-purchase .product-line__price{margin-top:0;font-size:14px;white-space:nowrap}
  .mgm-purchase .product-line__actions{padding-top:0}
  .mgm-purchase .product-line__item{font-size:13px;margin-block:4px}
  .mgm-purchase .product-line__item--prices{margin-top:8px}
  .mgm-purchase .cart__continue-shopping{width:100%}
  .mgm-purchase .cart-grid__footer{margin-top:40px}
  .mgm-purchase .cart-summary__line{font-size:13px;gap:12px}
  .mgm-purchase .cart-summary__total .cart-summary__line{font-size:15px}
  .mgm-purchase--checkout .mgm-checkout-help{padding-block:16px 20px;font-size:13px}
  .mgm-purchase--checkout .mgm-checkout-help nav ul{font-size:12px;gap:8px 18px}
  .mgm-purchase--checkout .checkout-steps__mobile{padding-block:18px}
  .mgm-purchase--checkout .step__title{margin-bottom:22px}
  .mgm-purchase--checkout .step__content{font-size:14px}
  .mgm-purchase--checkout .nav-underline{gap:20px}
  .mgm-purchase--checkout .buttons-wrapper .btn{width:100%}
  .mgm-purchase--checkout .mgm-checkout-footer{padding:24px 12px;margin-top:30px;gap:20px}
  .mgm-purchase--checkout .mgm-checkout-footer ul{columns:1}
  .mgm-purchase--confirmation .order-confirmation__details>.card-body{padding:20px}
  .mgm-purchase--confirmation .order-confirmation__details-list{font-size:13px}
  #blockcart-modal .blockcart-modal__title{font-size:21px}
  #blockcart-modal .modal-header{padding:20px}
  #blockcart-modal .modal-body{padding:22px 20px}
  #blockcart-modal .modal-footer{padding:20px;gap:10px}
  #blockcart-modal .blockcart-modal__product>.row{grid-template-columns:88px minmax(0,1fr);gap:18px}
  #blockcart-modal .blockcart-modal__name{font-size:15px;line-height:1.55}
}
@media(max-width:359px){
  .mgm-purchase h1.page-title-section{font-size:28px}
  .mgm-purchase .product-line{gap:12px}
  .mgm-purchase .product-line__image{flex-basis:68px;width:68px}
  .mgm-purchase .product-line__content-right{flex-wrap:wrap;gap:10px}
  .mgm-purchase .cart-grid__aside-wrapper,.mgm-purchase--checkout .checkout-grid__aside-wrapper{padding:18px}
  #blockcart-modal .blockcart-modal__product>.row{grid-template-columns:72px minmax(0,1fr);gap:14px}
}
