:root{--white:#f2f5f7;--navy:#1c2b3a;--blue:#7fa8bf;--blue-soft:#a8c8d8;--navy-dim:rgba(28,43,58,0.78);--navy-mute:rgba(28,43,58,0.58);--navy-faint:rgba(28,43,58,0.08);}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html,body{min-height:100vh;background:var(--white);}
.hm-wrap{background:var(--white);color:var(--navy);font-family:'Jost',sans-serif;font-weight:400;min-height:100vh;display:flex;flex-direction:column;}

/* NAV */
.hm-nav{background:var(--navy);padding:0 40px;display:flex;align-items:center;justify-content:space-between;height:60px;position:sticky;top:0;z-index:100;border-bottom:0.5px solid rgba(255,255,255,0.06);}
.hm-logo{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:20px;letter-spacing:0.22em;text-transform:uppercase;color:var(--white);text-decoration:none;}
.hm-nav-links{display:flex;gap:36px;list-style:none;}
.hm-nav-links a{font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:rgba(242,245,247,0.5);text-decoration:none;transition:color 0.2s;}
.hm-nav-links a:hover{color:var(--white);}
.hm-season{color:var(--blue-soft)!important;}
.hm-nav-actions{display:flex;gap:20px;align-items:center;}
.hm-nav-btn{color:rgba(242,245,247,0.6);display:flex;align-items:center;text-decoration:none;transition:color 0.2s;position:relative;}
.hm-nav-btn:hover{color:var(--white);}

/* STEPS */
.hm-co-steps{
  display:flex;align-items:center;justify-content:center;gap:14px;
  padding:22px 24px;border-bottom:0.5px solid var(--navy-faint);
  flex-wrap:wrap;
}
.hm-co-step{display:inline-flex;align-items:center;gap:9px;text-decoration:none;opacity:0.45;transition:opacity 0.2s;}
a.hm-co-step:hover{opacity:0.8;}
.hm-co-step.hm-co-current{opacity:1;}
.hm-co-step-num{
  width:24px;height:24px;border-radius:50%;
  border:0.5px solid rgba(28,43,58,0.3);
  display:flex;align-items:center;justify-content:center;
  font-size:9px;letter-spacing:0.06em;color:var(--navy-dim);
}
.hm-co-current .hm-co-step-num{background:var(--navy);border-color:var(--navy);color:var(--white);}
.hm-co-step-label{font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--navy-dim);}
.hm-co-current .hm-co-step-label{color:var(--navy);}
.hm-co-step-line{width:46px;height:0.5px;background:rgba(28,43,58,0.18);}

/* PAGE */
.hm-co-page{flex:1 1 auto;padding:44px 48px 64px;max-width:1180px;width:100%;margin:0 auto;}
.hm-co-header{margin-bottom:36px;}
.hm-co-eyebrow{
  font-size:9px;letter-spacing:0.2em;text-transform:uppercase;color:var(--blue);
  margin-bottom:12px;display:flex;align-items:center;gap:10px;
}
.hm-co-eyebrow::before{content:'';width:24px;height:0.5px;background:var(--blue);}
.hm-co-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(30px,3.4vw,46px);line-height:1.05;letter-spacing:-0.01em;margin-bottom:12px;}
.hm-co-sub{font-size:13px;line-height:1.8;color:var(--navy-dim);max-width:56ch;}

/* ── WOOCOMMERCE CHECKOUT RESKIN ── */
.hm-co-body .woocommerce{font-family:'Jost',sans-serif;}
.hm-co-body form.checkout{display:grid;grid-template-columns:1fr 400px;gap:56px;align-items:start;}

.hm-co-body h3,
.hm-co-body #order_review_heading{
  font-family:'Cormorant Garamond',serif;font-weight:400;font-size:22px;
  color:var(--navy);letter-spacing:0.02em;
  margin:0 0 20px;padding-bottom:14px;
  border-bottom:0.5px solid var(--navy-faint);
}

.hm-co-body .woocommerce-billing-fields,
.hm-co-body .woocommerce-shipping-fields,
.hm-co-body .woocommerce-additional-fields{margin-bottom:34px;}

.hm-co-body p.form-row{margin:0 0 16px;display:flex;flex-direction:column;gap:7px;}
.hm-co-body .form-row-first,.hm-co-body .form-row-last{display:inline-flex;width:calc(50% - 8px);}
.hm-co-body .form-row-first{margin-right:16px;}

.hm-co-body label{
  font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:var(--navy-mute);
}
.hm-co-body label .required{color:#8a3a3a;border:none;text-decoration:none;}

.hm-co-body input[type=text],
.hm-co-body input[type=email],
.hm-co-body input[type=tel],
.hm-co-body input[type=password],
.hm-co-body textarea,
.hm-co-body .select2-container .select2-selection--single,
.hm-co-body select{
  width:100%;
  background:#fff;
  border:0.5px solid rgba(28,43,58,0.2);
  border-radius:1px;
  padding:12px 14px;
  height:auto;
  font-family:'Jost',sans-serif;font-size:13px;font-weight:400;
  color:var(--navy);
  outline:none;
  transition:border-color 0.2s,box-shadow 0.2s;
}
.hm-co-body input:focus,
.hm-co-body textarea:focus,
.hm-co-body select:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(168,200,216,0.28);}
.hm-co-body textarea{min-height:96px;resize:vertical;}
.hm-co-body .select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:1.4;color:var(--navy);padding:0;
}
.hm-co-body .select2-container--default .select2-selection--single .select2-selection__arrow{top:10px;right:8px;}

/* Order review panel */
.hm-co-body #order_review{
  background:#fff;
  border:0.5px solid var(--navy-faint);
  border-radius:2px;
  padding:26px 24px;
  position:sticky;top:82px;
}
.hm-co-body #order_review_heading{margin-top:0;}

.hm-co-body .shop_table{width:100%;border-collapse:collapse;margin-bottom:18px;}
.hm-co-body .shop_table th,
.hm-co-body .shop_table td{
  padding:12px 0;text-align:left;
  border-bottom:0.5px solid var(--navy-faint);
  font-size:13px;color:var(--navy-dim);font-weight:400;
}
.hm-co-body .shop_table th{
  font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:var(--navy-mute);
}
.hm-co-body .shop_table td:last-child,
.hm-co-body .shop_table th:last-child{text-align:right;}
.hm-co-body .shop_table .product-name{color:var(--navy);}
.hm-co-body .shop_table .order-total th,
.hm-co-body .shop_table .order-total td{
  border-bottom:none;padding-top:16px;
  font-size:17px;color:var(--navy);
}
.hm-co-body .shop_table .order-total .woocommerce-Price-amount{font-size:19px;}
.hm-co-body .variation{font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--navy-mute);}
.hm-co-body .variation dt,.hm-co-body .variation dd,.hm-co-body .variation p{display:inline;margin:0;font-weight:400;}

/* Payment box */
.hm-co-body #payment{background:transparent;border-radius:0;}
.hm-co-body #payment ul.payment_methods{
  border:none;padding:0;margin:0 0 18px;list-style:none;
  border-top:0.5px solid var(--navy-faint);
}
.hm-co-body #payment ul.payment_methods li{
  border-bottom:0.5px solid var(--navy-faint);
  padding:14px 0;
  font-size:13px;color:var(--navy-dim);
}
.hm-co-body #payment ul.payment_methods li label{
  font-size:12px;letter-spacing:0.04em;text-transform:none;color:var(--navy);
  display:inline;cursor:pointer;
}
.hm-co-body #payment div.payment_box{
  background:rgba(168,200,216,0.14);
  border:0.5px solid rgba(168,200,216,0.5);
  border-radius:2px;
  padding:14px 16px;margin:12px 0 0;
  font-size:12.5px;line-height:1.75;color:var(--navy-dim);
}
.hm-co-body #payment div.payment_box::before{display:none;}

/* Place order button */
.hm-co-body #place_order,
.hm-co-body .button.alt{
  width:100%;
  background:var(--navy)!important;
  color:var(--white)!important;
  border:none!important;
  font-family:'Jost',sans-serif!important;
  font-size:11px!important;font-weight:500!important;
  letter-spacing:0.22em!important;text-transform:uppercase!important;
  height:56px!important;padding:0 28px!important;
  border-radius:1px!important;cursor:pointer!important;
  transition:background 0.22s,color 0.22s!important;
}
.hm-co-body #place_order:hover,
.hm-co-body .button.alt:hover{background:var(--blue-soft)!important;color:var(--navy)!important;}

/* Coupon / notices */
.hm-co-body .woocommerce-form-coupon-toggle,
.hm-co-body .woocommerce-info,
.hm-co-body .woocommerce-message{
  background:rgba(168,200,216,0.14);
  border:0.5px solid rgba(168,200,216,0.5);
  border-radius:2px;
  padding:13px 16px;margin-bottom:22px;
  font-size:12.5px;color:var(--navy-dim);
  list-style:none;
}
.hm-co-body .woocommerce-info::before,
.hm-co-body .woocommerce-message::before{display:none;}
.hm-co-body .woocommerce-error{
  background:rgba(138,58,58,0.08);
  border:0.5px solid rgba(138,58,58,0.35);
  border-radius:2px;padding:13px 16px;margin-bottom:22px;
  font-size:12.5px;color:#8a3a3a;list-style:none;
}
.hm-co-body .woocommerce-error::before{display:none;}
.hm-co-body a{color:var(--navy);border-bottom:0.5px solid var(--blue);text-decoration:none;transition:color 0.2s;}
.hm-co-body a:hover{color:var(--blue);}
.hm-co-body .checkout_coupon{
  border:0.5px solid var(--navy-faint);border-radius:2px;
  padding:18px;margin-bottom:26px;background:#fff;
}
.hm-co-body .checkout_coupon .button{
  background:var(--navy)!important;color:var(--white)!important;border:none!important;
  font-size:10px!important;letter-spacing:0.18em!important;text-transform:uppercase!important;
  height:46px!important;padding:0 22px!important;border-radius:1px!important;cursor:pointer;
}

/* REASSURANCE */
.hm-co-reassure{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
  margin-top:48px;padding:22px 24px;
  background:var(--navy-faint);border-radius:2px;
}
.hm-co-reassure-item{display:flex;align-items:center;gap:10px;font-size:11.5px;color:var(--navy-dim);letter-spacing:0.03em;}
.hm-co-reassure-item svg{stroke:var(--blue);flex-shrink:0;}

/* FOOTER (shared markup) */
.hm-footer{background:var(--navy);padding:56px 48px 32px;margin-top:auto;}
.hm-footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:0.5px solid rgba(255,255,255,0.06);margin-bottom:32px;}
.hm-footer-logo{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:28px;letter-spacing:0.2em;text-transform:uppercase;color:var(--white);display:block;margin-bottom:16px;}
.hm-footer-desc{font-size:11px;line-height:1.8;letter-spacing:0.04em;color:rgba(242,245,247,0.42);max-width:220px;margin-bottom:24px;}
.hm-footer-socials{display:flex;gap:14px;}
.hm-footer-social{width:32px;height:32px;border:0.5px solid rgba(255,255,255,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:border-color 0.2s,background 0.2s;text-decoration:none;}
.hm-footer-social:hover{border-color:var(--blue-soft);background:rgba(168,200,216,0.08);}
.hm-footer-col-title{font-size:9px;letter-spacing:0.18em;text-transform:uppercase;color:rgba(242,245,247,0.35);margin-bottom:20px;}
.hm-footer-links{list-style:none;display:flex;flex-direction:column;gap:10px;}
.hm-footer-links a{font-size:12px;letter-spacing:0.04em;color:rgba(242,245,247,0.55);text-decoration:none;transition:color 0.2s;border:none;}
.hm-footer-links a:hover{color:var(--white);}
.hm-footer-bottom{display:flex;align-items:center;justify-content:space-between;}
.hm-footer-copy{font-size:10px;letter-spacing:0.08em;color:rgba(242,245,247,0.28);}
.hm-footer-payments{display:flex;gap:8px;align-items:center;}
.hm-payment-badge{background:rgba(255,255,255,0.05);border:0.5px solid rgba(255,255,255,0.08);border-radius:3px;padding:4px 8px;font-size:9px;letter-spacing:0.06em;color:rgba(242,245,247,0.35);text-transform:uppercase;}

/* RESPONSIVE */
@media(max-width:1000px){
  .hm-co-body form.checkout{grid-template-columns:1fr;gap:36px;}
  .hm-co-body #order_review{position:static;}
  .hm-co-reassure{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  .hm-nav{padding:0 20px;}
  .hm-nav-links{display:none;}
  .hm-co-page{padding:32px 20px 48px;}
  .hm-co-steps{gap:8px;padding:16px 12px;}
  .hm-co-step-line{width:20px;}
  .hm-co-step-label{display:none;}
  .hm-co-current .hm-co-step-label{display:inline;}
  .hm-co-body .form-row-first,.hm-co-body .form-row-last{width:100%;margin-right:0;}
  .hm-co-reassure{grid-template-columns:1fr;}
  .hm-footer{padding:40px 20px 24px;}
  .hm-footer-top{grid-template-columns:1fr 1fr;gap:32px;}
  .hm-footer-bottom{flex-direction:column;gap:16px;align-items:flex-start;}
}

/* WooCommerce emits visually-hidden a11y labels. These templates bypass the
   theme stylesheet, so without this rule they render as stray visible text
   ('Remove item', 'Thumbnail image', duplicated product names...). */
.screen-reader-text,
.woocommerce-form__label-for-checkbox .screen-reader-text{
  position:absolute !important;
  width:1px;height:1px;
  margin:-1px;padding:0;border:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}

/* ── CHECKOUT LAYOUT FIXES ── */
/* WooCommerce emits #customer_details, #order_review_heading and #order_review
   as three siblings; without explicit placement the grid flowed the summary
   heading into column 2 and the summary itself back under the form. */
.hm-co-body form.checkout{
  grid-template-columns:minmax(0,1fr) 400px;
  align-items:start;
}
.hm-co-body #customer_details{grid-column:1;grid-row:1 / span 2;min-width:0;}
.hm-co-body #order_review_heading{grid-column:2;grid-row:1;margin-top:0;}
.hm-co-body #order_review{grid-column:2;grid-row:2;}
.hm-co-body .woocommerce-form-coupon-toggle,
.hm-co-body > .woocommerce > .woocommerce-notices-wrapper{grid-column:1 / -1;}

/* Woo floats these at ~48%, which squeezed every field to half width */
.hm-co-body .col2-set,
.hm-co-body .col2-set .col-1,
.hm-co-body .col2-set .col-2{
  width:100%;float:none;padding:0;margin:0;
}
.hm-co-body .col2-set{display:block;}
.hm-co-body .col2-set .col-2{margin-top:34px;}

/* Field rows */
.hm-co-body p.form-row{width:100%;}
.hm-co-body .form-row-first,
.hm-co-body .form-row-last{
  display:inline-flex;width:calc(50% - 8px);vertical-align:top;
}
.hm-co-body .form-row-first{margin-right:12px;}
.hm-co-body .form-row-wide{width:100%;}

/* "Ship to a different address" checkbox */
.hm-co-body .woocommerce-shipping-fields h3{
  display:flex;align-items:center;gap:10px;
  font-size:13px;font-family:'Jost',sans-serif;letter-spacing:0.02em;
  border-bottom:none;padding-bottom:0;margin-bottom:14px;
}
.hm-co-body .woocommerce-shipping-fields h3 label{
  font-size:12px;letter-spacing:0.04em;text-transform:none;
  color:var(--navy);cursor:pointer;margin:0;
}
.hm-co-body input[type=checkbox]{
  width:15px;height:15px;accent-color:#1c2b3a;margin:0 2px 0 0;flex:0 0 auto;
}

/* Order summary table: strip Woo/theme borders */
.hm-co-body #order_review table.shop_table,
.hm-co-body #order_review table.shop_table td,
.hm-co-body #order_review table.shop_table th,
.hm-co-body #order_review table.shop_table tfoot td,
.hm-co-body #order_review table.shop_table tfoot th{
  border-left:none;border-right:none;background:transparent;
}
.hm-co-body #order_review table.shop_table{border:none;}
.hm-co-body #order_review .product-name{padding-right:14px;}
.hm-co-body #order_review .product-quantity{font-weight:500;color:var(--navy);}

@media(max-width:1000px){
  .hm-co-body form.checkout{grid-template-columns:1fr;}
  .hm-co-body #customer_details,
  .hm-co-body #order_review_heading,
  .hm-co-body #order_review{grid-column:1;grid-row:auto;}
}
@media(max-width:600px){
  .hm-co-body .form-row-first,
  .hm-co-body .form-row-last{width:100%;margin-right:0;}
}

/* ── right column is one grouped, sticky block ── */
.hm-co-body form.checkout{grid-template-rows:auto;}
.hm-co-body #customer_details{grid-column:1;grid-row:1;}
.hm-co-body .hm-co-aside{
  grid-column:2;grid-row:1;
  position:sticky;top:82px;
  min-width:0;
}
.hm-co-body .hm-co-aside #order_review_heading{
  margin:0 0 14px;padding:0 0 12px;
  border:none;border-bottom:0.5px solid var(--navy-faint);
  background:transparent;
}
.hm-co-body .hm-co-aside #order_review{position:static;}

/* first / last name share a line */
.hm-co-body p.form-row-first,
.hm-co-body p.form-row-last{
  display:inline-flex !important;
  width:calc(50% - 7px) !important;
  vertical-align:top;
}
.hm-co-body p.form-row-first{margin-right:10px !important;}
.hm-co-body p.form-row-wide{width:100% !important;}

@media(max-width:1000px){
  .hm-co-body .hm-co-aside{grid-column:1;grid-row:auto;position:static;}
}
@media(max-width:600px){
  .hm-co-body p.form-row-first,
  .hm-co-body p.form-row-last{width:100% !important;margin-right:0 !important;}
}

/* ── ORDER SUMMARY THUMBNAILS ─────────────────────────────────────────── */
.hm-co-body #order_review .product-name{overflow:hidden;}
.hm-co-thumb{
  float:left;
  width:54px;height:54px;
  margin:2px 12px 6px 0;
  object-fit:cover;
  background:#fff;
  border:0.5px solid rgba(28,43,58,.12);
  border-radius:2px;
}

/* ── COUPON FORM ──────────────────────────────────────────────────────── */
.hm-co-body .woocommerce-form-coupon-toggle{margin-bottom:16px;}

.hm-co-body form.checkout_coupon{
  background:#fff;
  border:0.5px solid rgba(28,43,58,.14);
  border-radius:2px;
  padding:20px 22px;
  margin:0 0 28px;
  max-width:520px;
  display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;
}
.hm-co-body form.checkout_coupon p{margin:0;padding:0;}
.hm-co-body form.checkout_coupon > p:first-of-type{
  flex:1 1 100%;
  font-size:12px;color:var(--navy-dim);margin-bottom:4px;
}
.hm-co-body form.checkout_coupon .form-row{
  margin:0;padding:0;width:auto;display:block;
}
.hm-co-body form.checkout_coupon .form-row-first{
  flex:1 1 240px;min-width:0;margin:0 !important;width:auto !important;
}
.hm-co-body form.checkout_coupon .form-row-last{flex:0 0 auto;margin:0 !important;width:auto !important;}

.hm-co-body form.checkout_coupon input.input-text{
  width:100%;height:48px;
  border:0.5px solid rgba(28,43,58,.2) !important;
  border-radius:2px;
  padding:0 14px;
  font-family:'Jost',sans-serif;font-size:13px;color:var(--navy);
  background:#fff;outline:none;
  transition:border-color .2s,box-shadow .2s;
}
.hm-co-body form.checkout_coupon input.input-text:focus{
  border-color:var(--navy) !important;
  box-shadow:0 0 0 3px rgba(168,200,216,.28);
}
.hm-co-body form.checkout_coupon button{
  height:48px;
  padding:0 26px !important;
  background:var(--navy) !important;color:var(--white) !important;
  border:none !important;border-radius:2px !important;
  font-family:'Jost',sans-serif !important;
  font-size:10px !important;font-weight:500 !important;
  letter-spacing:0.18em !important;text-transform:uppercase !important;
  cursor:pointer;white-space:nowrap;
  transition:background .2s,color .2s;
}
.hm-co-body form.checkout_coupon button:hover{
  background:var(--blue-soft) !important;color:var(--navy) !important;
}

@media(max-width:520px){
  .hm-co-body form.checkout_coupon{flex-direction:column;}
  .hm-co-body form.checkout_coupon .form-row-last button{width:100%;}
}

/* ── COUPON: override the billing form-row !important rules ──────────── */
.hm-co-body form.checkout_coupon p.form-row,
.hm-co-body form.checkout_coupon p.form-row-first,
.hm-co-body form.checkout_coupon p.form-row-last{
  display:block !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
}
.hm-co-body form.checkout_coupon p.form-row-first{flex:1 1 250px !important;min-width:0;}
.hm-co-body form.checkout_coupon p.form-row-last{flex:0 0 auto !important;}
.hm-co-body form.checkout_coupon .clear{display:none !important;}

.hm-co-body form.checkout_coupon{
  align-items:center;
  padding:18px 20px;
}
.hm-co-body form.checkout_coupon button{height:48px !important;line-height:1 !important;}

/* ══ CHECKOUT MOTION ═══════════════════════════════════════════════════ */

/* sections rise in on load, staggered */
@keyframes coRise{
  from{opacity:0;transform:translateY(14px);}
  to  {opacity:1;transform:none;}
}
.hm-co-steps      {animation:coRise .5s cubic-bezier(.22,1,.36,1) both;}
.hm-co-header     {animation:coRise .5s cubic-bezier(.22,1,.36,1) .06s both;}
.hm-co-body       {animation:coRise .5s cubic-bezier(.22,1,.36,1) .12s both;}
.hm-co-reassure   {animation:coRise .5s cubic-bezier(.22,1,.36,1) .18s both;}

/* step markers */
.hm-co-step-num{
  transition:transform .35s cubic-bezier(.34,1.6,.5,1), background .25s ease,
             border-color .25s ease, color .25s ease;
}
a.hm-co-step:hover .hm-co-step-num{
  transform:scale(1.16);
  border-color:var(--navy);color:var(--navy);
}
a.hm-co-step:hover .hm-co-step-label{color:var(--navy);}
.hm-co-step-label{transition:color .25s ease, letter-spacing .35s cubic-bezier(.34,1.5,.6,1);}
a.hm-co-step:hover .hm-co-step-label{letter-spacing:0.2em;}
.hm-co-current .hm-co-step-num{
  animation:coPulse 2.4s ease-in-out infinite;
}
@keyframes coPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(28,43,58,.35);}
  50%    {box-shadow:0 0 0 6px rgba(28,43,58,0);}
}

/* fields lift and glow on focus */
.hm-co-body input[type=text],
.hm-co-body input[type=email],
.hm-co-body input[type=tel],
.hm-co-body input[type=password],
.hm-co-body textarea,
.hm-co-body select{
  transition:border-color .22s ease, box-shadow .28s ease, transform .28s cubic-bezier(.34,1.5,.6,1);
}
.hm-co-body input:focus,
.hm-co-body textarea:focus,
.hm-co-body select:focus{
  transform:translateY(-2px);
  box-shadow:0 6px 16px rgba(28,43,58,.10), 0 0 0 3px rgba(168,200,216,.35) !important;
}
.hm-co-body label{transition:color .22s ease;}
.hm-co-body p.form-row:focus-within label{color:var(--navy);}

/* order lines */
.hm-co-body #order_review .cart_item{
  transition:background .25s ease;
}
.hm-co-body #order_review .cart_item:hover{background:rgba(168,200,216,.10);}
.hm-co-thumb{
  transition:transform .38s cubic-bezier(.34,1.5,.6,1), box-shadow .3s ease;
}
.hm-co-body #order_review .cart_item:hover .hm-co-thumb{
  transform:scale(1.08) rotate(-2deg);
  box-shadow:0 8px 16px rgba(28,43,58,.16);
}

/* total counts itself up visually */
.hm-co-body .order-total .woocommerce-Price-amount{
  display:inline-block;
  animation:coTotal .55s cubic-bezier(.22,1,.36,1) both;
}
@keyframes coTotal{
  from{opacity:0;transform:translateY(8px) scale(.96);}
  to  {opacity:1;transform:none;}
}

/* place order — shine + lift */
.hm-co-body #place_order{
  position:relative;overflow:hidden;
  transition:transform .28s cubic-bezier(.34,1.6,.5,1),
             box-shadow .28s ease, letter-spacing .34s ease, background .25s ease !important;
}
.hm-co-body #place_order::before{
  content:"";position:absolute;top:0;left:-60%;width:45%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(242,245,247,.3),transparent);
  transform:skewX(-18deg);
  transition:left .6s cubic-bezier(.4,0,.2,1);
}
.hm-co-body #place_order:hover::before{left:130%;}
.hm-co-body #place_order:hover{
  transform:translateY(-3px);
  letter-spacing:0.26em !important;
  box-shadow:0 14px 28px rgba(28,43,58,.3) !important;
}
.hm-co-body #place_order:active{transform:translateY(-1px) scale(.99);}

/* coupon reveal */
.hm-co-body form.checkout_coupon{
  animation:coRise .42s cubic-bezier(.22,1,.36,1) both;
}
.hm-co-body form.checkout_coupon button{
  transition:background .22s ease, color .22s ease, transform .28s cubic-bezier(.34,1.6,.5,1);
}
.hm-co-body form.checkout_coupon button:hover{transform:translateY(-2px);}

/* links */
.hm-co-body a{position:relative;transition:color .22s ease;}
.hm-co-reassure-item{transition:transform .3s cubic-bezier(.34,1.5,.6,1);}
.hm-co-reassure-item:hover{transform:translateY(-3px);}
.hm-co-reassure-item svg{transition:transform .35s cubic-bezier(.34,1.7,.5,1);}
.hm-co-reassure-item:hover svg{transform:scale(1.22) rotate(-6deg);}

@media(prefers-reduced-motion:reduce){
  .hm-co-steps,.hm-co-header,.hm-co-body,.hm-co-reassure,
  .hm-co-body form.checkout_coupon,
  .hm-co-body .order-total .woocommerce-Price-amount{animation:none !important;}
  .hm-co-body input:focus,.hm-co-body textarea:focus,.hm-co-body select:focus,
  .hm-co-body #place_order:hover,.hm-co-reassure-item:hover{transform:none;}
}
