/*
Theme Name: SimplyFair Marketplace V36 Compact Deal Group
Theme URI: https://simplyfair.shop/
Author: OpenAI
Description: Amazon-inspired WooCommerce storefront for SimplyFair, focused on Office and Windows products.
Version: 1.36.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: simplyfair-marketplace-final
License: GPL-2.0-or-later
*/
:root{
 --sf-navy:#111827;
 --sf-navy2:#1f2937;
 --sf-orange:#f59e0b;
 --sf-orange2:#fbbf24;
 --sf-blue:#2563eb;
 --sf-bg:#eaeded;
 --sf-card:#ffffff;
 --sf-ink:#111827;
 --sf-muted:#64748b;
 --sf-line:#d8dee7;
 --sf-green:#047857;
 --sf-red:#b91c1c;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--sf-ink);background:var(--sf-bg)}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}
.sf-container{width:min(1280px,calc(100% - 28px));margin:auto}

/* ===== Header ===== */
.sf-top{background:var(--sf-navy);color:#fff}
.sf-top-inner{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:11px 0}
.sf-brand{font-size:27px;font-weight:950;letter-spacing:-1px;white-space:nowrap}
.sf-brand span{color:var(--sf-orange)}
.sf-search{display:flex;background:#fff;border-radius:7px;overflow:hidden;height:46px;border:2px solid transparent}
.sf-search:focus-within{border-color:var(--sf-orange)}
.sf-search select{border:0;border-right:1px solid #e5e7eb;background:#f3f4f6;padding:0 10px;color:#4b5563}
.sf-search input{flex:1;border:0;outline:0;padding:0 14px;font-size:15px}
.sf-search button{width:54px;border:0;background:var(--sf-orange);font-size:20px;cursor:pointer}
.sf-head-actions{display:flex;align-items:center;gap:17px;font-size:12px}
.sf-head-actions b{display:block;font-size:14px}
.sf-cart{font-size:23px}
.sf-nav{background:var(--sf-navy2);color:#fff}
.sf-nav-inner{display:flex;align-items:center;gap:22px;min-height:43px;overflow:auto}
.sf-nav a{font-size:14px;font-weight:760;white-space:nowrap}
.sf-nav a:hover{color:var(--sf-orange2)}
.sf-strip{background:#fff;border-bottom:1px solid var(--sf-line)}
.sf-strip-inner{display:flex;justify-content:center;gap:34px;flex-wrap:wrap;padding:9px 0;color:#475569;font-size:13px;font-weight:700}

/* ===== Hero ===== */
.sf-hero{background:linear-gradient(90deg,#f8fbff,#eef5ff 55%,#fff6e8)}
.sf-hero-inner{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:42px;min-height:430px;padding:50px 0 74px}
.sf-hero h1{font-size:54px;line-height:1.03;letter-spacing:-2.1px;margin:0 0 14px;color:#122033}
.sf-hero h1 em{font-style:normal;color:#d97706}
.sf-hero p{font-size:18px;color:var(--sf-muted);max-width:650px;line-height:1.62;margin:0 0 22px}
.sf-hero-offer{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.sf-price{font-size:44px;font-weight:950;color:#c2410c}
.sf-price small{display:block;font-size:11px;color:var(--sf-muted);font-weight:700}
.sf-btn{display:inline-flex;align-items:center;justify-content:center;min-height:47px;padding:0 22px;border-radius:999px;background:var(--sf-orange);font-weight:900;color:#111}
.sf-btn:hover{background:var(--sf-orange2)}
.sf-btn-dark{background:var(--sf-navy);color:#fff}
.sf-btn-dark:hover{background:#263449}
.sf-hero-card{background:#fff;border:1px solid var(--sf-line);border-radius:18px;box-shadow:0 18px 45px rgba(17,24,39,.12);padding:28px}
.sf-msmark{display:grid;grid-template-columns:repeat(2,18px);gap:3px;width:max-content}
.sf-msmark i{width:18px;height:18px;display:block}
.sf-msmark i:nth-child(1){background:#f25022}.sf-msmark i:nth-child(2){background:#7fba00}.sf-msmark i:nth-child(3){background:#00a4ef}.sf-msmark i:nth-child(4){background:#ffb900}
.sf-hero-card h2{margin:24px 0 8px;font-size:34px;line-height:1.1}
.sf-hero-card .small{color:var(--sf-muted);font-weight:700}
.sf-apps{display:flex;gap:10px;margin:24px 0;flex-wrap:wrap}
.sf-app{width:50px;height:50px;border-radius:10px;color:#fff;display:grid;place-items:center;font-weight:950;font-size:22px}
.w{background:#185abd}.x{background:#107c41}.p{background:#c43e1c}.o{background:#0a64ad}.n{background:#7719aa}
.sf-offer-points{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sf-offer-points div{border:1px solid var(--sf-line);border-radius:10px;padding:10px 12px;font-size:12px;color:var(--sf-muted)}
.sf-offer-points b{display:block;color:var(--sf-ink);font-size:13px}

/* ===== Home cards ===== */
.sf-overlap{margin-top:-40px;position:relative;z-index:5}
.sf-cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sf-cat-card{background:#fff;border-radius:12px;padding:20px;min-height:214px;box-shadow:0 8px 24px rgba(17,24,39,.08)}
.sf-cat-card h3{margin:0 0 12px;font-size:20px}
.sf-cat-visual{height:108px;border-radius:9px;background:linear-gradient(135deg,#eef4ff,#fbfdff);display:grid;place-items:center;font-weight:950;font-size:26px;color:var(--sf-blue);margin-bottom:13px}
.sf-cat-card.office .sf-cat-visual{background:linear-gradient(135deg,#fff1e7,#fff9f4);color:#ea580c}
.sf-link{font-size:13px;color:var(--sf-blue);font-weight:850}

/* ===== Sections ===== */
.sf-section{padding:32px 0}
.sf-panel{background:#fff;border-radius:12px;padding:22px}
.sf-section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:18px}
.sf-section-head h2{margin:0;font-size:28px}
.sf-section-head p{margin:5px 0 0;color:var(--sf-muted);font-size:14px}

/* ===== Product cards ===== */
.sf-products ul.products{display:grid!important;grid-template-columns:repeat(5,1fr);gap:14px;margin:0!important}
.sf-products ul.products:before,.sf-products ul.products:after{display:none!important}
.sf-products ul.products li.product{position:relative;width:auto!important;margin:0!important;float:none!important;border:1px solid var(--sf-line);border-radius:10px;padding:12px;background:#fff;transition:.16s}
.sf-products ul.products li.product:hover{box-shadow:0 10px 28px rgba(17,24,39,.10);transform:translateY(-2px)}
.sf-products ul.products li.product img{border-radius:8px;background:#f7f8fa}
.sf-products .woocommerce-loop-product__title{font-size:14px!important;line-height:1.38;color:#172033}
.sf-products .price{font-weight:950!important;color:#b45309!important;font-size:20px!important}
.sf-products del{color:#94a3b8!important;font-size:13px}
.sf-products ins{text-decoration:none}
.sf-products .star-rating{color:#f59e0b}
.sf-products a.button{display:block;text-align:center;background:#ffd814!important;color:#111!important;border:1px solid #fcd200!important;border-radius:999px!important;font-size:12px!important;padding:10px!important}
.sf-products a.button:hover{background:#f7ca00!important}
.sf-best-badge{position:absolute;left:10px;top:10px;z-index:3;background:#e67e22;color:#fff;padding:6px 9px;border-radius:4px;font-size:10px;font-weight:900}

/* ===== Deal rows ===== */
.sf-deal{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sf-deal-card{border-radius:12px;padding:25px;background:#fff;border:1px solid var(--sf-line)}
.sf-deal-card.office{background:linear-gradient(135deg,#fff2eb,#fff)}
.sf-deal-card.windows{background:linear-gradient(135deg,#eaf3ff,#fff)}
.sf-deal-card h3{font-size:27px;margin:0 0 8px}
.sf-deal-card p{color:var(--sf-muted);line-height:1.55;max-width:500px}
.sf-deal-price{font-size:30px;font-weight:950;color:#b45309;margin:14px 0}

/* ===== Trust ===== */
.sf-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sf-trust div{background:#fff;border:1px solid var(--sf-line);border-radius:10px;padding:18px}
.sf-trust b{display:block;margin-bottom:5px}
.sf-trust span{font-size:13px;color:var(--sf-muted);line-height:1.45}

/* ===== WooCommerce ===== */
.sf-main{padding:36px 0}
.woocommerce div.product .product_title{font-size:34px;line-height:1.17}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:#b45309;font-weight:950}
.woocommerce button.button.alt,.woocommerce a.button.alt{background:#ffd814!important;color:#111!important;border:1px solid #fcd200!important;border-radius:999px!important}
.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover{background:#f7ca00!important}
.woocommerce-message,.woocommerce-info{border-top-color:var(--sf-orange)!important}
.woocommerce-tabs ul.tabs li.active{background:#fff!important}
.sf-product-info-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}
.sf-product-info-strip div{border:1px solid var(--sf-line);border-radius:8px;padding:10px;font-size:12px;color:var(--sf-muted);background:#fff}
.sf-product-info-strip b{display:block;color:var(--sf-ink);font-size:13px;margin-bottom:2px}

/* ===== Footer ===== */
.sf-footer{background:var(--sf-navy);color:#d8e1ec;margin-top:34px}
.sf-footer-top{background:var(--sf-navy2);padding:16px 0;text-align:center;font-weight:850}
.sf-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:34px;padding:46px 0}
.sf-footer h4{color:#fff;margin-top:0}
.sf-footer a{display:block;color:#b8c7d9;margin:9px 0;font-size:14px}
.sf-footer p{color:#aebed0;max-width:360px;line-height:1.6}
.sf-copy{border-top:1px solid rgba(255,255,255,.09);padding:18px 0;color:#8da1b9;font-size:12px}

/* ===== Mobile ===== */
@media(max-width:980px){
 .sf-top-inner{grid-template-columns:1fr auto}
 .sf-search{grid-column:1/-1;grid-row:2}
 .sf-hero-inner{grid-template-columns:1fr}
 .sf-hero h1{font-size:44px}
 .sf-cat-grid{grid-template-columns:repeat(2,1fr)}
 .sf-products ul.products{grid-template-columns:repeat(3,1fr)!important}
 .sf-product-info-strip{grid-template-columns:repeat(2,1fr)}
 .sf-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
 .sf-head-actions .hide-sm{display:none}
 .sf-strip-inner{justify-content:flex-start;gap:15px;overflow:auto;flex-wrap:nowrap}
 .sf-hero h1{font-size:37px}
 .sf-hero-inner{padding:38px 0 62px}
 .sf-cat-grid{grid-template-columns:1fr 1fr}
 .sf-products ul.products{grid-template-columns:repeat(2,1fr)!important}
 .sf-deal{grid-template-columns:1fr}
 .sf-trust{grid-template-columns:1fr 1fr}
 .sf-footer-grid{grid-template-columns:1fr}
 .sf-search select{display:none}
}


/* ===== V2: refined marketplace + product detail ===== */
.sf-products .woocommerce-loop-product__title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:58px}
.single-product .sf-main .sf-panel{padding:28px}
.single-product div.product div.images{width:48%}
.single-product div.product div.summary{width:48%;padding:4px 0 0 18px}
.single-product .product_title{font-size:31px!important;line-height:1.16!important;letter-spacing:-.55px;margin-bottom:12px!important}
.single-product .woocommerce-product-rating{margin-bottom:12px!important}
.single-product .price{font-size:26px!important;margin:10px 0 16px!important}
.single-product .woocommerce-product-details__short-description{color:#253044;font-size:14px;line-height:1.48;margin-bottom:14px}
.single-product .woocommerce-product-details__short-description ol,.single-product .woocommerce-product-details__short-description ul{margin:8px 0 14px 20px;padding:0}
.single-product .woocommerce-product-details__short-description li{margin:4px 0}
.single-product form.cart{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px!important}
.single-product form.cart .quantity input.qty{min-height:42px;border:1px solid var(--sf-line);border-radius:7px}
.single-product form.cart .single_add_to_cart_button{min-height:42px;padding:0 24px!important;font-weight:850!important;background:#ffd814!important;border:1px solid #fcd200!important;color:#111!important}
.single-product .sf-buy-now{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 24px;border-radius:999px;background:#ffa41c;border:1px solid #ff8f00;color:#111;font-weight:850}
.single-product .sf-buy-now:hover{background:#fa8900}
.single-product .product_meta{display:none}
.single-product .sf-product-info-strip{grid-template-columns:repeat(2,1fr);margin:15px 0}
.single-product .sf-product-info-strip div{padding:11px 12px;background:#fafbfc}
.single-product .woocommerce-product-gallery__image{border-radius:10px;overflow:hidden;background:#fff}
.single-product .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px!important}
.single-product .flex-control-thumbs li{width:auto!important;float:none!important}
.single-product .flex-control-thumbs li:nth-child(n+5){display:none!important}
.single-product .woocommerce-tabs{margin-top:36px}
.single-product .woocommerce-tabs .panel{color:#243044;line-height:1.6}
.single-product .related.products{margin-top:38px}
.single-product .related.products h2{font-size:24px}
.single-product .related.products ul.products{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:14px!important}
.single-product .related.products li.product{width:auto!important;margin:0!important;float:none!important;border:1px solid var(--sf-line);border-radius:10px;padding:12px}
.single-product .related.products .woocommerce-loop-product__title{font-size:13px!important;line-height:1.35}
.single-product .related.products .button{border-radius:999px!important;background:#ffd814!important;color:#111!important}
.sf-purchase-note{border-top:1px solid var(--sf-line);border-bottom:1px solid var(--sf-line);padding:12px 0;margin:10px 0 14px;display:flex;flex-wrap:wrap;gap:14px 22px;font-size:13px;color:#475569}
.sf-purchase-note span:before{content:"✓";color:#168447;font-weight:900;margin-right:6px}
.sf-hero-inner{min-height:405px;padding-top:42px;padding-bottom:68px}
.sf-hero h1{font-size:50px}
.sf-cat-card{min-height:200px}
.sf-panel{box-shadow:0 2px 8px rgba(17,24,39,.04)}
@media(max-width:780px){.single-product div.product div.images,.single-product div.product div.summary{width:100%;float:none;padding-left:0}.single-product .related.products ul.products{grid-template-columns:repeat(2,1fr)!important}.single-product .sf-product-info-strip{grid-template-columns:1fr 1fr}}


/* ===== V3: product-page conversion polish ===== */

/* Keep sale labels compact instead of large circular stickers */
.woocommerce span.onsale{
  min-width:auto!important;
  min-height:auto!important;
  line-height:1!important;
  padding:6px 9px!important;
  border-radius:4px!important;
  background:#cc5c16!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:900!important;
  top:10px!important;
  left:10px!important;
}

/* Flagship summary bullets */
.sf-flagship-bullets{
  margin:10px 0 14px;
  padding:0;
  list-style:none;
  border-top:1px solid var(--sf-line);
  border-bottom:1px solid var(--sf-line);
  padding-top:10px;
  padding-bottom:10px;
}
.sf-flagship-bullets li{
  position:relative;
  padding-left:20px;
  margin:7px 0;
  color:#253044;
  font-size:14px;
  line-height:1.4;
}
.sf-flagship-bullets li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#168447;
  font-weight:950;
}
.sf-flagship-bullets b{color:#111827}

/* Cleaner trust cards in the purchase column */
.single-product .sf-product-info-strip{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin:12px 0!important;
}
.single-product .sf-product-info-strip div{
  min-height:62px;
  border-radius:8px;
  padding:10px 11px!important;
  background:#fafafa!important;
}
.single-product .sf-product-info-strip b{
  font-size:12px;
}
.single-product .sf-product-info-strip div{
  font-size:11px;
  line-height:1.35;
}

/* Purchase buttons sit together and feel like a marketplace checkout */
.single-product form.cart{
  padding-top:3px;
  margin-bottom:6px!important;
}
.single-product form.cart .single_add_to_cart_button,
.single-product .sf-buy-now{
  min-width:128px;
  min-height:44px!important;
}
.single-product .sf-buy-now{
  background:#ffa41c!important;
  border-color:#ff8f00!important;
}

/* Payment / delivery note under the buying actions */
.sf-payment-line{
  margin:10px 0 4px;
  padding:11px 12px;
  border:1px solid var(--sf-line);
  border-radius:9px;
  background:#fff;
  font-size:12px;
  line-height:1.5;
  color:#475569;
}
.sf-payment-line strong{
  color:#111827;
}
.sf-payment-methods{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:7px;
}
.sf-payment-method{
  padding:5px 8px;
  border:1px solid #d9dee7;
  background:#fafafa;
  border-radius:6px;
  font-size:11px;
  font-weight:800;
  color:#273244;
}

/* Tabs read more like an Amazon product information area */
.single-product .woocommerce-tabs{
  border-top:1px solid var(--sf-line);
  padding-top:24px;
}
.single-product .woocommerce-tabs ul.tabs{
  padding:0!important;
  margin:0 0 18px!important;
  border-bottom:1px solid var(--sf-line);
}
.single-product .woocommerce-tabs ul.tabs:before{
  display:none!important;
}
.single-product .woocommerce-tabs ul.tabs li{
  border:0!important;
  background:transparent!important;
  margin:0 18px 0 0!important;
  padding:0!important;
}
.single-product .woocommerce-tabs ul.tabs li a{
  padding:10px 0!important;
  font-size:14px!important;
  font-weight:800!important;
  color:#475569!important;
}
.single-product .woocommerce-tabs ul.tabs li.active a{
  color:#111827!important;
  border-bottom:3px solid #f59e0b;
}
.single-product .woocommerce-tabs .panel h2:first-child{
  font-size:24px;
  margin-top:0;
}
.single-product .woocommerce-tabs .panel{
  max-width:920px;
}

/* Force exactly four related cards on desktop */
.single-product .related.products ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
}
.single-product .related.products ul.products::before,
.single-product .related.products ul.products::after{
  display:none!important;
}
.single-product .related.products ul.products li.product{
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  float:none!important;
  clear:none!important;
}
.single-product .related.products ul.products li.product:nth-child(n){
  clear:none!important;
}

/* Slightly more compact gallery / buying column */
.single-product div.product div.images{
  width:49%;
}
.single-product div.product div.summary{
  width:47%;
  margin-left:2%;
}
.single-product .woocommerce-product-gallery__wrapper{
  background:#fff;
}
.single-product .flex-control-thumbs{
  max-width:100%;
}

/* Hide redundant long excerpt paragraphs only for the flagship summary replacement */
.single-product .sf-flagship-summary + .sf-purchase-note{
  margin-top:8px;
}

@media(max-width:900px){
  .single-product .related.products ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:780px){
  .single-product div.product div.images,
  .single-product div.product div.summary{
    width:100%!important;
    margin-left:0!important;
  }
  .single-product form.cart .single_add_to_cart_button,
  .single-product .sf-buy-now{
    flex:1 1 150px;
  }
}


/* ===== V4 requested visual changes ===== */
.sf-apps-real{
  display:flex;
  align-items:center;
  gap:10px;
  margin:24px 0;
  flex-wrap:wrap;
}
.sf-apps-real img{
  width:48px;
  height:48px;
  display:block;
  filter:drop-shadow(0 5px 10px rgba(15,23,42,.10));
}
.sf-hero-card .sf-apps-real img{
  border-radius:10px;
}

/* Payment logos */
.sf-v4-payments{
  margin-top:12px!important;
}
.sf-payment-logo-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin-top:8px;
}
.sf-payment-logo-row span{
  width:76px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d9dee7;
  border-radius:6px;
  background:#fff;
  overflow:hidden;
}
.sf-payment-logo-row img{
  max-width:70px;
  max-height:28px;
  width:auto;
  height:auto;
  display:block;
}

/* Restore normal imported short description presentation */
.single-product .woocommerce-product-details__short-description{
  display:block!important;
  color:#253044;
  font-size:13px;
  line-height:1.42;
  margin-bottom:12px;
}
.single-product .woocommerce-product-details__short-description ol,
.single-product .woocommerce-product-details__short-description ul{
  margin:6px 0 10px 18px;
}
.single-product .woocommerce-product-details__short-description li{
  margin:3px 0;
}

/* V3 compressed flagship bullet block is no longer used. */
.sf-flagship-summary,
.sf-flagship-bullets{
  display:none!important;
}


/* ===== V5: refined app icons + compact payment logos ===== */

/* Office app row: aligned, no floating shadows, labels underneath */
.sf-apps-labeled{
  display:flex;
  align-items:flex-start;
  gap:16px;
  margin:24px 0 18px;
  flex-wrap:wrap;
}
.sf-apps-labeled .sf-app-item{
  width:58px;
  text-align:center;
}
.sf-apps-labeled .sf-app-item img{
  width:50px!important;
  height:50px!important;
  display:block;
  margin:0 auto;
  border-radius:9px;
  filter:none!important;
  box-shadow:none!important;
}
.sf-apps-labeled .sf-app-item span{
  display:block;
  margin-top:6px;
  color:#334155;
  font-size:11px;
  line-height:1.1;
  font-weight:700;
}
.sf-apps-labeled .sf-app-item:nth-child(3){
  width:70px;
}

/* Hide the previous V4 boxed payment block if cached markup survives */
.sf-v4-payments{
  display:none!important;
}

/* Compact checkout trust treatment */
.sf-v5-payment-trust{
  margin:12px 0 4px;
  padding-top:12px;
  border-top:1px solid var(--sf-line);
}
.sf-v5-payment-title{
  font-size:13px;
  font-weight:850;
  color:#111827;
  margin-bottom:8px;
}
.sf-v5-payment-logos{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  min-height:34px;
}
.sf-v5-payment-logos img{
  display:block;
  width:auto;
  height:27px;
  max-width:82px;
  object-fit:contain;
}
.sf-v5-payment-logos img[alt="Apple Pay"]{
  height:29px;
}
.sf-v5-payment-logos img[alt="Google Pay"]{
  height:28px;
}
.sf-v5-payment-note{
  margin-top:7px;
  font-size:11px;
  color:#64748b;
  font-weight:650;
}

@media(max-width:650px){
  .sf-apps-labeled{
    gap:11px;
  }
  .sf-apps-labeled .sf-app-item{
    width:50px;
  }
  .sf-apps-labeled .sf-app-item:nth-child(3){
    width:66px;
  }
  .sf-apps-labeled .sf-app-item img{
    width:44px!important;
    height:44px!important;
  }
  .sf-v5-payment-logos{
    gap:12px;
  }
  .sf-v5-payment-logos img{
    height:24px;
    max-width:72px;
  }
}


/* ===== V6: use site-uploaded homepage app strip and payment strip ===== */
.sf-apps-image{
  margin:22px 0 18px;
}
.sf-apps-image img{
  display:block;
  width:100%;
  max-width:420px;
  height:auto;
}

/* Hide older app row if any cached markup survives */
.sf-apps-labeled,
.sf-apps-real{
  display:none!important;
}

/* Hide V5 payment markup if cached */
.sf-v5-payment-trust{
  display:none!important;
}

.sf-v6-payment-trust{
  margin:12px 0 4px;
  padding-top:12px;
  border-top:1px solid var(--sf-line);
}
.sf-v6-payment-title{
  font-size:13px;
  font-weight:850;
  color:#111827;
  margin-bottom:8px;
}
.sf-v6-payment-image img{
  display:block;
  width:100%;
  max-width:360px;
  height:auto;
}
.sf-v6-payment-note{
  margin-top:7px;
  font-size:11px;
  color:#64748b;
  font-weight:650;
}

@media(max-width:650px){
  .sf-apps-image img{
    max-width:100%;
  }
  .sf-v6-payment-image img{
    max-width:100%;
  }
}


/* ===== V7 repair pack: English Woo pages + classic Woo checkout/cart ===== */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce{
  width:100%;
}
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals,
.woocommerce-checkout form.checkout{
  width:100%;
}
.woocommerce-checkout form.checkout{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
  gap:28px;
  align-items:start;
}
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review{
  float:none!important;
  width:100%!important;
}
.woocommerce-checkout #customer_details{grid-column:1;grid-row:1 / span 2}
.woocommerce-checkout #order_review_heading{grid-column:2;grid-row:1;margin:0 0 10px}
.woocommerce-checkout #order_review{grid-column:2;grid-row:2}
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout #order_review,
.woocommerce-cart .cart-collaterals .cart_totals{
  background:#fff;
  border:1px solid var(--sf-line);
  border-radius:12px;
  padding:20px;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-cart input.qty{
  min-height:44px;
  border:1px solid #cfd6df;
  border-radius:7px;
  padding:9px 11px;
  background:#fff;
}
.woocommerce-checkout #payment{
  background:#f7f8fa!important;
  border-radius:10px!important;
}
.woocommerce-checkout #payment ul.payment_methods{padding:16px!important}
.woocommerce-checkout #payment div.form-row{padding:16px!important}
.woocommerce-checkout #place_order{
  width:100%;
  min-height:48px;
  border-radius:999px!important;
  background:#f59e0b!important;
  color:#111!important;
  font-weight:900!important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  border-radius:999px!important;
  background:#f59e0b!important;
  color:#111!important;
}
@media(max-width:850px){
  .woocommerce-checkout form.checkout{display:block}
  .woocommerce-checkout #order_review_heading{margin-top:28px}
}


/* ===== V8: cleaner two-step checkout ===== */
.woocommerce-checkout .sf-checkout-steps{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:4px 0 26px;
}
.woocommerce-checkout .sf-checkout-step-pill{
  appearance:none;
  border:1px solid #d9dee7;
  background:#f4f6f8;
  color:#64748b;
  border-radius:999px;
  padding:9px 14px;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}
.woocommerce-checkout .sf-checkout-step-pill span{
  display:inline-flex;
  width:21px;
  height:21px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#e5e7eb;
  margin-right:5px;
  font-size:11px;
}
.woocommerce-checkout .sf-checkout-step-pill.is-active{
  background:#111827;
  border-color:#111827;
  color:#fff;
}
.woocommerce-checkout .sf-checkout-step-pill.is-active span{background:#f59e0b;color:#111}
.woocommerce-checkout .sf-step-line{width:38px;height:1px;background:#d9dee7}

/* Step 1: email only */
.woocommerce-checkout.sf-checkout-step-1 form.checkout{
  display:block!important;
  max-width:590px;
  margin:0 auto;
}
.woocommerce-checkout.sf-checkout-step-1 #customer_details{
  display:block!important;
  width:100%!important;
}
.woocommerce-checkout.sf-checkout-step-1 #customer_details .col-1{
  float:none!important;
  width:100%!important;
}
.woocommerce-checkout.sf-checkout-step-1 #customer_details .col-2,
.woocommerce-checkout.sf-checkout-step-1 #order_review_heading,
.woocommerce-checkout.sf-checkout-step-1 #order_review,
.woocommerce-checkout.sf-checkout-step-1 .woocommerce-additional-fields,
.woocommerce-checkout.sf-checkout-step-1 .woocommerce-form-coupon-toggle,
.woocommerce-checkout.sf-checkout-step-1 form.checkout_coupon,
.woocommerce-checkout.sf-checkout-step-1 .sf-checkout-back,
.woocommerce-checkout.sf-checkout-step-1 .woocommerce-billing-fields__field-wrapper > p:not(#billing_email_field){
  display:none!important;
}
.woocommerce-checkout.sf-checkout-step-1 .woocommerce-billing-fields{
  max-width:590px;
  margin:0 auto;
  padding:30px!important;
}
.woocommerce-checkout.sf-checkout-step-1 .woocommerce-billing-fields > h3{display:none!important}
.sf-checkout-email-intro h2{
  font-size:26px;
  line-height:1.2;
  margin:0 0 8px;
  color:#111827;
}
.sf-checkout-email-intro p{
  margin:0 0 22px;
  color:#64748b;
  font-size:14px;
  line-height:1.55;
}
.woocommerce-checkout #billing_email_field{width:100%!important;float:none!important}
.woocommerce-checkout #billing_email_field label{font-weight:800}
.woocommerce-checkout #billing_email{
  min-height:50px!important;
  font-size:16px;
}
.sf-checkout-continue{
  width:100%;
  min-height:50px;
  margin-top:8px!important;
  border:0!important;
  border-radius:999px!important;
  background:#f59e0b!important;
  color:#111!important;
  font-size:16px!important;
  font-weight:900!important;
}
.sf-checkout-email-error{
  color:#b91c1c;
  font-size:13px;
  font-weight:700;
  margin-top:7px;
}

/* Step 2: billing left, order/payment right */
.woocommerce-checkout.sf-checkout-step-2 form.checkout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(360px,.95fr)!important;
  gap:30px!important;
  max-width:none!important;
}
.woocommerce-checkout.sf-checkout-step-2 #customer_details{
  display:block!important;
  grid-column:1!important;
  grid-row:1 / span 2!important;
}
.woocommerce-checkout.sf-checkout-step-2 #order_review_heading{
  display:block!important;
  grid-column:2!important;
  grid-row:1!important;
}
.woocommerce-checkout.sf-checkout-step-2 #order_review{
  display:block!important;
  grid-column:2!important;
  grid-row:2!important;
}
.woocommerce-checkout.sf-checkout-step-2 .sf-checkout-email-intro,
.woocommerce-checkout.sf-checkout-step-2 .sf-checkout-continue{display:none!important}
.woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields > h3{
  display:block!important;
  font-size:22px;
  margin:0 0 18px;
}
.woocommerce-checkout.sf-checkout-step-2 .sf-checkout-back{
  display:inline-flex!important;
  border:0;
  background:transparent;
  padding:0;
  margin:0 0 12px;
  color:#475569;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}
.woocommerce-checkout.sf-checkout-step-2 .woocommerce-additional-fields{display:none!important}

/* Cleaner checkout chrome */
.woocommerce-checkout .woocommerce-form-coupon-toggle{
  max-width:100%;
  margin-bottom:18px;
}
.woocommerce-checkout .woocommerce-message{
  border-top-color:#f59e0b;
}
.woocommerce-checkout #order_review_heading{font-size:22px!important}
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td{
  padding:12px!important;
}
.woocommerce-checkout .woocommerce-privacy-policy-text{
  font-size:12px;
  line-height:1.5;
  color:#64748b;
}

@media(max-width:850px){
  .woocommerce-checkout .sf-checkout-steps{justify-content:flex-start;overflow:auto;padding-bottom:2px}
  .woocommerce-checkout.sf-checkout-step-2 form.checkout{display:block!important}
  .woocommerce-checkout.sf-checkout-step-2 #order_review_heading{margin-top:26px!important}
  .woocommerce-checkout.sf-checkout-step-1 .woocommerce-billing-fields{padding:22px!important}
}


/* ===== V9: balanced checkout columns + stronger billing layout ===== */
@media(min-width:851px){
  .woocommerce-checkout.sf-checkout-step-2 form.checkout{
    grid-template-columns:minmax(430px,.9fr) minmax(520px,1.1fr)!important;
    gap:34px!important;
  }
  .woocommerce-checkout.sf-checkout-step-2 #customer_details .col-1{
    float:none!important;
    width:100%!important;
    max-width:none!important;
  }
  .woocommerce-checkout.sf-checkout-step-2 #customer_details .col-2{
    display:none!important;
  }
  .woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields{
    width:100%!important;
    max-width:none!important;
    padding:24px!important;
  }
  .woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields__field-wrapper{
    width:100%!important;
  }
}

/* Keep the name fields side by side; all other billing fields full width. */
.woocommerce-checkout.sf-checkout-step-2 #billing_first_name_field,
.woocommerce-checkout.sf-checkout-step-2 #billing_last_name_field{
  width:48%!important;
}
.woocommerce-checkout.sf-checkout-step-2 #billing_first_name_field{float:left!important}
.woocommerce-checkout.sf-checkout-step-2 #billing_last_name_field{float:right!important}
.woocommerce-checkout.sf-checkout-step-2 #billing_country_field,
.woocommerce-checkout.sf-checkout-step-2 #billing_address_1_field,
.woocommerce-checkout.sf-checkout-step-2 #billing_address_2_field,
.woocommerce-checkout.sf-checkout-step-2 #billing_city_field,
.woocommerce-checkout.sf-checkout-step-2 #billing_state_field,
.woocommerce-checkout.sf-checkout-step-2 #billing_postcode_field,
.woocommerce-checkout.sf-checkout-step-2 #billing_phone_field,
.woocommerce-checkout.sf-checkout-step-2 #billing_email_field{
  width:100%!important;
  float:none!important;
  clear:both!important;
}

/* Keep Back to contact aligned above the billing card instead of beside it. */
.woocommerce-checkout.sf-checkout-step-2 .sf-checkout-back{
  display:flex!important;
  width:max-content;
  margin:0 0 12px!important;
}

@media(max-width:850px){
  .woocommerce-checkout.sf-checkout-step-2 #billing_first_name_field,
  .woocommerce-checkout.sf-checkout-step-2 #billing_last_name_field{
    width:100%!important;
    float:none!important;
  }
}


/* ===== V10: support/policy pages ===== */
.page .sf-main .sf-panel article{
  max-width:960px;
  margin:0 auto;
}
.page .sf-main .sf-panel article > h1{
  font-size:34px;
  margin:0 0 24px;
  color:#111827;
}
.page .sf-main .sf-panel article h2{
  font-size:26px;
  margin:0 0 18px;
  color:#111827;
}
.page .sf-main .sf-panel article h3{
  font-size:18px;
  margin:26px 0 8px;
  color:#111827;
}
.page .sf-main .sf-panel article p{
  font-size:15px;
  line-height:1.75;
  color:#475569;
  margin:0 0 14px;
}
.page .sf-main .sf-panel article a{
  color:#c75a00;
  text-decoration:underline;
}


/* ===== V13: checkout field/error language cleanup ===== */
.woocommerce-checkout #billing_phone_field .optional,
.woocommerce-checkout label[for="billing_phone"] .optional{
  display:none!important;
}
.woocommerce-checkout #billing_phone_field label .required{
  display:inline!important;
}




/* ===== V16: premium purchase assurance ===== */
.sf-v16-assurance{
  margin-top:18px;
  max-width:680px;
  border-top:1px solid #d9dee7;
  border-bottom:1px solid #d9dee7;
  color:#111827;
  background:transparent;
}
.sf-v16-row{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:13px;
  align-items:center;
  min-height:70px;
  padding:14px 0;
  border-bottom:1px solid #e5e7eb;
}
.sf-v16-row:last-child{border-bottom:0}
.sf-v16-payment-row{
  grid-template-columns:38px minmax(150px,1fr) auto;
}
.sf-v16-icon{
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#111827;
}
.sf-v16-icon svg{
  width:29px;
  height:29px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.sf-v16-content{min-width:0}
.sf-v16-content strong{
  display:block;
  margin:0 0 2px;
  color:#111827;
  font-size:14.5px;
  line-height:1.35;
  font-weight:800;
  letter-spacing:-.01em;
}
.sf-v16-copy{
  display:block;
  color:#667085;
  font-size:12.5px;
  line-height:1.45;
}
.sf-v16-payments{
  display:block;
  width:auto;
  max-width:280px;
  max-height:38px;
  object-fit:contain;
}
@media(max-width:700px){
  .sf-v16-assurance{margin-top:14px;max-width:none}
  .sf-v16-row{grid-template-columns:34px minmax(0,1fr);gap:10px;min-height:64px;padding:12px 0}
  .sf-v16-payment-row{grid-template-columns:34px minmax(0,1fr)}
  .sf-v16-payment-row .sf-v16-payments{grid-column:2;margin-top:7px;max-width:min(270px,100%);max-height:36px}
  .sf-v16-icon{width:30px;height:30px}
  .sf-v16-icon svg{width:26px;height:26px}
  .sf-v16-content strong{font-size:14px}
  .sf-v16-copy{font-size:12.2px}
}

/* ===== V17: compact, scan-friendly checkout ===== */
.woocommerce-checkout.sf-checkout-step-2 #billing_email_field{
  display:none!important;
}
.woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields{
  padding:22px!important;
  border-radius:16px!important;
}
.woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields > h3{
  font-size:21px!important;
  margin:0 0 16px!important;
}
.woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields__field-wrapper{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:14px;
  row-gap:12px;
}
.woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields__field-wrapper .form-row{
  width:auto!important;
  float:none!important;
  clear:none!important;
  margin:0!important;
}
.woocommerce-checkout.sf-checkout-step-2 #billing_first_name_field,
.woocommerce-checkout.sf-checkout-step-2 #billing_last_name_field,
.woocommerce-checkout.sf-checkout-step-2 #billing_city_field,
.woocommerce-checkout.sf-checkout-step-2 #billing_postcode_field{
  grid-column:auto;
}
.woocommerce-checkout.sf-checkout-step-2 #billing_country_field,
.woocommerce-checkout.sf-checkout-step-2 #billing_address_1_field,
.woocommerce-checkout.sf-checkout-step-2 #billing_phone_field{
  grid-column:1 / -1;
}
.woocommerce-checkout.sf-checkout-step-2 #billing_state_field{
  grid-column:1 / -1;
}
.woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields__field-wrapper.sf-has-state #billing_country_field,
.woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields__field-wrapper.sf-has-state #billing_state_field{
  grid-column:auto;
}
.woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields label{
  font-size:13px!important;
  font-weight:750!important;
  margin-bottom:5px!important;
  color:#334155!important;
}
.woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields input.input-text,
.woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields select,
.woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields .select2-selection{
  min-height:46px!important;
  height:46px!important;
  border-radius:9px!important;
  font-size:15px!important;
}
.woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields .select2-selection__rendered{
  line-height:44px!important;
}
.woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields .select2-selection__arrow{
  height:44px!important;
}
.woocommerce-checkout.sf-checkout-step-2 .sf-checkout-back{
  margin-bottom:9px!important;
}
@media(min-width:851px){
  .woocommerce-checkout.sf-checkout-step-2 form.checkout{
    grid-template-columns:minmax(500px,.95fr) minmax(520px,1.05fr)!important;
    gap:38px!important;
  }
}
@media(max-width:850px){
  .woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields{
    padding:18px!important;
  }
  .woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields__field-wrapper{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:10px;
    row-gap:10px;
  }
  .woocommerce-checkout.sf-checkout-step-2 #billing_address_1_field,
  .woocommerce-checkout.sf-checkout-step-2 #billing_phone_field{
    grid-column:1 / -1;
  }
  .woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields label{
    font-size:12.5px!important;
    margin-bottom:4px!important;
  }
  .woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields input.input-text,
  .woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields select,
  .woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields .select2-selection{
    min-height:44px!important;
    height:44px!important;
  }
  .woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields .select2-selection__rendered{
    line-height:42px!important;
  }
  .woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields .select2-selection__arrow{
    height:42px!important;
  }
}
@media(max-width:520px){
  .woocommerce-checkout .sf-checkout-step-pill{
    padding:8px 11px!important;
    font-size:12px!important;
  }
  .woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields{
    padding:16px!important;
  }
}

/* ===== V18: checkout conversion pass =====
   Goal: reduce visual friction without removing payment/billing essentials. */

/* Coupon hunting is a common checkout distraction; coupons still work elsewhere. */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout form.checkout_coupon{
  display:none!important;
}

/* Keep checkout form comfortable to read. */
.woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields label{
  font-size:14px!important;
  line-height:1.25!important;
  margin-bottom:6px!important;
}
.woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields input.input-text,
.woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields select,
.woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields .select2-selection{
  min-height:50px!important;
  height:50px!important;
  font-size:16px!important;
}
.woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields .select2-selection__rendered{
  line-height:48px!important;
  font-size:16px!important;
}
.woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields .select2-selection__arrow{
  height:48px!important;
}

/* Slightly calmer order review typography after shortening the checkout title. */
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name{
  line-height:1.42!important;
}

/* Mobile checkout: remove store-navigation distractions and restore comfortable controls. */
@media(max-width:650px){
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-top-inner{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:58px;
    padding:9px 0!important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-top-inner .sf-search,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-top-inner .sf-head-actions,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-nav,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-strip{
    display:none!important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-top-inner::after{
    content:"\1F512  Secure checkout";
    color:#e5e7eb;
    font-size:12px;
    font-weight:750;
    white-space:nowrap;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-brand{
    font-size:22px!important;
  }

  .woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields{
    padding:18px!important;
    border-radius:14px!important;
  }
  .woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields > h3{
    font-size:22px!important;
    margin-bottom:18px!important;
  }
  .woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields__field-wrapper{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:12px!important;
    row-gap:14px!important;
  }

  /* Only the name pair stays side-by-side on phones. Everything else gets room to breathe. */
  .woocommerce-checkout.sf-checkout-step-2 #billing_first_name_field,
  .woocommerce-checkout.sf-checkout-step-2 #billing_last_name_field{
    grid-column:auto!important;
  }
  .woocommerce-checkout.sf-checkout-step-2 #billing_country_field,
  .woocommerce-checkout.sf-checkout-step-2 #billing_state_field,
  .woocommerce-checkout.sf-checkout-step-2 #billing_address_1_field,
  .woocommerce-checkout.sf-checkout-step-2 #billing_city_field,
  .woocommerce-checkout.sf-checkout-step-2 #billing_postcode_field,
  .woocommerce-checkout.sf-checkout-step-2 #billing_phone_field{
    grid-column:1 / -1!important;
  }
  .woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields label{
    font-size:14px!important;
    margin-bottom:6px!important;
  }
  .woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields input.input-text,
  .woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields select,
  .woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields .select2-selection{
    min-height:50px!important;
    height:50px!important;
    font-size:16px!important;
    border-radius:9px!important;
  }
  .woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields .select2-selection__rendered{
    line-height:48px!important;
    font-size:16px!important;
  }
  .woocommerce-checkout.sf-checkout-step-2 .woocommerce-billing-fields .select2-selection__arrow{
    height:48px!important;
  }
  .woocommerce-checkout #order_review_heading{
    font-size:23px!important;
    margin-top:24px!important;
  }
  .woocommerce-checkout .woocommerce-checkout-review-order-table th,
  .woocommerce-checkout .woocommerce-checkout-review-order-table td{
    padding:12px 10px!important;
    font-size:14px!important;
  }
}



/* ===== V19: one-page checkout experiment =====
   Keeps the V18 conversion refinements, but removes the artificial Contact -> Billing step. */
.woocommerce-checkout .sf-checkout-steps,
.woocommerce-checkout .sf-checkout-email-intro,
.woocommerce-checkout .sf-checkout-continue,
.woocommerce-checkout .sf-checkout-back,
.woocommerce-checkout .sf-checkout-email-error{
  display:none!important;
}

/* One-page desktop layout: details left, order/payment right. */
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout{
  display:grid!important;
  grid-template-columns:minmax(500px,.95fr) minmax(520px,1.05fr)!important;
  gap:38px!important;
  align-items:start!important;
  max-width:none!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details{
  display:block!important;
  grid-column:1!important;
  grid-row:1 / span 2!important;
  width:100%!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details .col-1{
  float:none!important;
  width:100%!important;
  max-width:none!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details .col-2,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-additional-fields{
  display:none!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading{
  display:block!important;
  grid-column:2!important;
  grid-row:1!important;
  margin:0 0 10px!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review{
  display:block!important;
  grid-column:2!important;
  grid-row:2!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields{
  width:100%!important;
  max-width:none!important;
  padding:24px!important;
  border-radius:16px!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields > h3{
  display:block!important;
  font-size:22px!important;
  line-height:1.25!important;
  margin:0 0 18px!important;
}

/* Email remains visible at the top so abandoned-cart capture can still start early. */
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields__field-wrapper{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:14px!important;
  row-gap:14px!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields__field-wrapper .form-row{
  width:auto!important;
  float:none!important;
  clear:none!important;
  margin:0!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_email_field,
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_address_1_field,
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_phone_field{
  grid-column:1 / -1!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_first_name_field,
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_last_name_field,
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_city_field,
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_postcode_field{
  grid-column:auto!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_country_field,
body.woocommerce-checkout:not(.woocommerce-order-received) #billing_state_field{
  grid-column:1 / -1!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields__field-wrapper.sf-has-state #billing_country_field,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields__field-wrapper.sf-has-state #billing_state_field{
  grid-column:auto!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields label{
  font-size:14px!important;
  line-height:1.25!important;
  font-weight:750!important;
  margin-bottom:6px!important;
  color:#334155!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields input.input-text,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields select,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields .select2-selection{
  min-height:50px!important;
  height:50px!important;
  font-size:16px!important;
  border-radius:9px!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields .select2-selection__rendered{
  line-height:48px!important;
  font-size:16px!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields .select2-selection__arrow{
  height:48px!important;
}

/* Mobile: one honest page, readable controls, no squeezed half-width address fields. */
@media(max-width:850px){
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout{
    display:block!important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading{
    margin-top:24px!important;
  }
}
@media(max-width:650px){
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields{
    padding:18px!important;
    border-radius:14px!important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields__field-wrapper{
    grid-template-columns:1fr!important;
    row-gap:14px!important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields__field-wrapper .form-row,
  body.woocommerce-checkout:not(.woocommerce-order-received) #billing_first_name_field,
  body.woocommerce-checkout:not(.woocommerce-order-received) #billing_last_name_field,
  body.woocommerce-checkout:not(.woocommerce-order-received) #billing_email_field,
  body.woocommerce-checkout:not(.woocommerce-order-received) #billing_country_field,
  body.woocommerce-checkout:not(.woocommerce-order-received) #billing_state_field,
  body.woocommerce-checkout:not(.woocommerce-order-received) #billing_address_1_field,
  body.woocommerce-checkout:not(.woocommerce-order-received) #billing_city_field,
  body.woocommerce-checkout:not(.woocommerce-order-received) #billing_postcode_field,
  body.woocommerce-checkout:not(.woocommerce-order-received) #billing_phone_field{
    grid-column:1!important;
  }
}


/* ===== V28: concise checkout verification note (display only) ===== */
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-privacy-policy-text,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-privacy-policy-text p{
  font-size:13px;
  line-height:1.55;
  color:#637084;
}

/* ===== V22: Amazon-inspired mobile product detail, flagship Microsoft 365 ONLY =====
   Desktop + other products unchanged. No checkout/payment modifications. */
body.sf-v22-office365 .sf-v22-mobile-product-heading {display:none;}
@media(max-width:780px){
  body.sf-v22-office365.single-product .sf-main {padding:12px 0 24px!important;}
  body.sf-v22-office365.single-product .sf-main > .sf-container.sf-panel {
    padding:16px 14px 21px!important;
    border-radius:10px!important;
  }
  /* Render the title and native WooCommerce review rating before the product image. */
  body.sf-v22-office365.single-product .sf-v22-mobile-product-heading {
    display:block!important;
    clear:both;
    margin:0 0 11px!important;
  }
  body.sf-v22-office365.single-product .sf-v22-mobile-product-heading .sf-v22-mobile-title {
    font-size:19px!important;
    line-height:1.34!important;
    letter-spacing:-.12px!important;
    font-weight:550!important;
    color:#0f1111!important;
    margin:0 0 9px!important;
    overflow-wrap:break-word;
  }
  body.sf-v22-office365.single-product .sf-v22-mobile-product-heading .woocommerce-product-rating {
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap;
    gap:8px!important;
    margin:0 0 4px!important;
    min-height:23px;
  }
  body.sf-v22-office365.single-product .sf-v22-mobile-product-heading .woocommerce-review-link {
    font-size:13px!important;
    line-height:1.4!important;
    color:#216e88!important;
    text-decoration:none!important;
    margin:0!important;
  }
  body.sf-v22-office365.single-product .sf-v22-mobile-product-heading .woocommerce-review-link:hover {
    text-decoration:underline!important;
  }
  body.sf-v22-office365.single-product .summary > .product_title,
  body.sf-v22-office365.single-product .summary > .woocommerce-product-rating {
    display:none!important;
  }
  body.sf-v22-office365.single-product div.product div.images {
    width:100%!important;
    float:none!important;
    margin:0 0 11px!important;
    padding:0!important;
  }
  body.sf-v22-office365.single-product .woocommerce-product-gallery__wrapper,
  body.sf-v22-office365.single-product .woocommerce-product-gallery__image {
    border-radius:6px!important;
  }
  body.sf-v22-office365.single-product .woocommerce-product-gallery__image img {
    object-fit:contain;
    background:#fff;
  }
  body.sf-v22-office365.single-product div.product div.summary {
    float:none!important;
    clear:both!important;
    width:100%!important;
    padding:0!important;
    margin:0!important;
  }
  body.sf-v22-office365.single-product .summary > .price {
    font-size:29px!important;
    line-height:1.23!important;
    color:#0f1111!important;
    margin:7px 0 12px!important;
    letter-spacing:-.45px;
  }
  body.sf-v22-office365.single-product .summary > .price del {
    font-size:15px!important;
    font-weight:450!important;
    color:#6b7280!important;
    opacity:1!important;
    margin-right:6px;
  }
  body.sf-v22-office365.single-product .summary > .price ins {
    text-decoration:none!important;
    color:#0f1111!important;
  }
  body.sf-v22-office365.single-product .woocommerce-product-details__short-description {
    font-size:14px!important;
    line-height:1.48!important;
    margin-bottom:12px!important;
  }
  body.sf-v22-office365.single-product .woocommerce-product-details__short-description li {
    margin:6px 0!important;
  }
  body.sf-v22-office365.single-product form.cart .single_add_to_cart_button,
  body.sf-v22-office365.single-product .sf-buy-now {
    font-size:15px!important;
    min-height:48px!important;
    border-radius:24px!important;
  }
  body.sf-v22-office365.single-product .sf-v6-payment-trust,
  body.sf-v22-office365.single-product .sf-assurance-list {
    margin-top:10px!important;
  }
}
/* Amazon-style warm orange stars, including WooCommerce's filled-star pseudo-elements. */
body.sf-v22-office365.single-product .woocommerce-product-rating .star-rating,
body.sf-v22-office365.single-product .woocommerce-product-rating .star-rating span::before,
body.sf-v22-office365.single-product .woocommerce-product-rating .star-rating::before,
body.sf-v22-office365.single-product .woocommerce-product-rating .star-rating span {
  color:#de7920!important;
}

/* Sale flash is positioned at the product's upper-left by WooCommerce;
   with a title before the gallery it would cover the mobile heading.
   The actual regular/sale prices remain visible below the gallery. */
@media(max-width:780px){
  body.sf-v22-office365.single-product .woocommerce span.onsale,
  body.sf-v22-office365.single-product span.onsale{display:none!important;}
}


/* ===== V23: Amazon-style mobile price, purchase above product selling points =====
 * Scope: ONLY the flagship Microsoft 365 product at phone/tablet widths.
 * Entire desktop page and the checkout/payment system remain unchanged.
 */
body.sf-v22-office365.single-product .sf-v23-amazon-price{display:none;}
@media (max-width:780px){
  body.sf-v22-office365.single-product div.product div.summary{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }
  body.sf-v22-office365.single-product div.product div.summary > *{order:50;}
  body.sf-v22-office365.single-product .summary > .product_title{order:0;}
  body.sf-v22-office365.single-product .summary > .woocommerce-product-rating{order:1;}
  body.sf-v22-office365.single-product .summary > .sf-v23-amazon-price{order:2;}
  body.sf-v22-office365.single-product .summary > .price{order:3;}
  body.sf-v22-office365.single-product .summary > form.cart{order:10;}
  body.sf-v22-office365.single-product .summary > .woocommerce-product-details__short-description{
    order:20!important;
    width:100%!important;
    margin:17px 0 12px!important;
    padding-top:14px!important;
    border-top:1px solid #e5e7eb!important;
    font-size:14px!important;
    line-height:1.5!important;
  }
  body.sf-v22-office365.single-product .summary > .sf-v16-assurance{order:30;}
  body.sf-v22-office365.single-product .summary > .sf-v23-amazon-price[hidden]{display:none!important;}
  body.sf-v22-office365.single-product.sf-v23-price-ready .summary > .sf-v23-amazon-price:not([hidden]){
    display:block!important;
    width:100%;
    margin:5px 0 7px!important;
    padding:0!important;
    color:#0f1111;
  }
  body.sf-v22-office365.single-product.sf-v23-price-ready .summary > .price{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    clip-path:inset(50%)!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
  }
  body.sf-v22-office365.single-product .sf-v23-price-line{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:11px;
    line-height:1.05;
  }
  body.sf-v22-office365.single-product .sf-v23-percent{
    color:#cc0c39;
    font-size:29px;
    font-weight:400;
    letter-spacing:-.6px;
  }
  body.sf-v22-office365.single-product .sf-v23-now{
    display:inline-flex;
    align-items:flex-start;
    color:#0f1111;
    font-size:37px;
    font-weight:450;
    letter-spacing:-.8px;
    line-height:1.05;
  }
  body.sf-v22-office365.single-product .sf-v23-now .sf-v23-price-symbol{
    font-size:20px;
    font-weight:400;
    letter-spacing:0;
    line-height:1.25;
    padding-top:2px;
  }
  body.sf-v22-office365.single-product .sf-v23-now .sf-v23-price-cents{
    font-size:19px;
    font-weight:450;
    letter-spacing:0;
    line-height:1.2;
    margin-top:1px;
  }
  body.sf-v22-office365.single-product .sf-v23-was{
    font-size:13px;
    color:#565959;
    margin:6px 0 0;
    line-height:1.4;
  }
  body.sf-v22-office365.single-product .sf-v23-was del{
    font-size:13px;
    color:#565959;
    text-decoration:line-through;
    opacity:1;
  }
}


/* ===== V24: Office 365 product UI only; no product copy or order changes ===== */
/* Amazon-inspired price is visible at desktop widths too. The original
   WooCommerce price remains in the DOM, and is shown if JS fails. */
@media(min-width:781px){
  body.sf-v22-office365.single-product.sf-v23-price-ready .summary > .sf-v23-amazon-price:not([hidden]){
    display:block!important;
    width:100%;
    margin:5px 0 18px!important;
    padding:0 0 13px!important;
    border-bottom:1px solid #e9edf2;
    color:#0f1111;
  }
  body.sf-v22-office365.single-product.sf-v23-price-ready .summary > .price{
    position:absolute!important;
    clip-path:inset(50%)!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    width:1px!important;height:1px!important;
    padding:0!important;margin:0!important;
  }
  body.sf-v22-office365.single-product .sf-v23-price-line{
    display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;line-height:1.05;
  }
  body.sf-v22-office365.single-product .sf-v23-percent{
    color:#cc0c39;font-size:30px;font-weight:400;letter-spacing:-.35px;
  }
  body.sf-v22-office365.single-product .sf-v23-now{
    display:inline-flex;align-items:flex-start;color:#0f1111;
    font-size:38px;font-weight:450;letter-spacing:-.85px;line-height:1.05;
  }
  body.sf-v22-office365.single-product .sf-v23-now .sf-v23-price-symbol{
    font-size:19px;font-weight:400;letter-spacing:0;line-height:1.25;padding-top:2px;
  }
  body.sf-v22-office365.single-product .sf-v23-now .sf-v23-price-cents{
    font-size:19px;font-weight:400;letter-spacing:0;line-height:1.2;margin-top:1px;
  }
  body.sf-v22-office365.single-product .sf-v23-was{
    font-size:13px;line-height:1.4;color:#565959;margin:6px 0 0;
  }
  body.sf-v22-office365.single-product .sf-v23-was del{
    text-decoration:line-through;color:#565959;opacity:1;
  }
}
/* Preserve the original selling-point text; space lines for legibility. */
body.sf-v22-office365.single-product .summary > .woocommerce-product-details__short-description{
  color:#253044!important;font-size:14.5px!important;line-height:1.65!important;
  letter-spacing:0!important;
}
body.sf-v22-office365.single-product .summary > .woocommerce-product-details__short-description ol,
body.sf-v22-office365.single-product .summary > .woocommerce-product-details__short-description ul{
  padding-left:22px!important;margin:10px 0 15px!important;
}
body.sf-v22-office365.single-product .summary > .woocommerce-product-details__short-description li{
  padding-left:3px!important;margin:0 0 12px!important;
  line-height:1.65!important;
}
body.sf-v22-office365.single-product .summary > .woocommerce-product-details__short-description li:last-child{
  margin-bottom:0!important;
}
/* The 5th+ items are hidden ONLY AFTER the accessible toggle is added in JS.
   Without JS all original content remains visible. */
@media(max-width:780px){
  body.sf-v22-office365.single-product div.product .summary > .sf-v16-assurance{
    order:12!important;
    margin:11px 0 13px!important;
  }
  body.sf-v22-office365.single-product div.product .summary > .woocommerce-product-details__short-description{
    order:20!important;
    border-top:1px solid #e5e7eb!important;
    padding-top:17px!important;
    margin:4px 0 16px!important;
    font-size:14px!important;
    line-height:1.63!important;
  }
  body.sf-v22-office365.single-product .sf-v24-benefits-list.sf-v24-is-collapsed > li:nth-child(n+5){
    display:none!important;
  }
  body.sf-v22-office365.single-product .sf-v24-benefits-toggle{
    display:inline-flex;align-items:center;justify-content:center;gap:7px;
    border:0;border-bottom:1px solid #64748b;
    background:transparent;color:#174b65;
    font-family:inherit;font-size:14px;line-height:1.45;font-weight:650;
    text-align:left;cursor:pointer;padding:7px 0 4px;margin:1px 0 0;
  }
  body.sf-v22-office365.single-product .sf-v24-benefits-toggle:focus-visible{
    outline:2px solid #007185;outline-offset:4px;border-radius:3px;
  }
}
@media(min-width:781px){
  body.sf-v22-office365.single-product .sf-v24-benefits-toggle{display:none!important;}
}


/* ===== V25: reliable server-rendered price ABOVE purchase assurance =====
 * Product-specific, phone/tablet-only. Desktop and non-365 pages unchanged.
 * This node follows WooCommerce's gallery in the actual HTML document.
 */
body.sf-v22-office365.single-product .sf-v25-mobile-price{display:none;}
@media(max-width:780px){
  body.sf-v22-office365.single-product div.product > .sf-v25-mobile-price{
    display:block!important;
    box-sizing:border-box;
    width:100%;
    clear:both;
    position:relative;
    margin:8px 0 18px!important;
    padding:14px 0 15px!important;
    border-top:1px solid #e5e7eb;
    border-bottom:1px solid #e5e7eb;
    color:#0f1111;
  }
  /* The real Woo price stays in the HTML for currency-switcher updates;
     only its duplicate in the summary is visually suppressed. */
  body.sf-v22-office365.single-product div.product .summary > .price,
  body.sf-v22-office365.single-product div.product .summary > .sf-v23-amazon-price{
    display:none!important;
  }
  body.sf-v22-office365.single-product .sf-v25-server-price{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:10px;
    font-size:36px;
    line-height:1.2;
    font-weight:450;
  }
  body.sf-v22-office365.single-product .sf-v25-server-discount{
    color:#cc0c39;
    font-size:29px;
    font-weight:400;
  }
  body.sf-v22-office365.single-product .sf-v25-price-markup{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:baseline;
    min-width:0;
    color:#0f1111;
  }
  body.sf-v22-office365.single-product .sf-v25-price-markup > ins{
    order:0;
    color:#0f1111;
    font-size:36px;
    font-weight:450;
    text-decoration:none;
  }
  body.sf-v22-office365.single-product .sf-v25-price-markup > del{
    order:1;
    color:#565959;
    font-size:13px;
    font-weight:400;
    opacity:1;
  }
  body.sf-v22-office365.single-product .sf-v25-price-markup > .woocommerce-Price-amount{
    font-size:36px;
    color:#0f1111;
  }
  body.sf-v22-office365.single-product .sf-v25-server-price[hidden],
  body.sf-v22-office365.single-product .sf-v25-enhanced[hidden]{
    display:none!important;
  }
  body.sf-v22-office365.single-product .sf-v25-enhanced:not([hidden]){
    display:block!important;
  }
  body.sf-v22-office365.single-product .sf-v25-mobile-price .sf-v23-price-line{
    align-items:baseline;
  }
}

/* ===== V26: remove duplicated Amazon-style price on mobile =====
 * V23/V24 still render an enhanced price inside .summary for desktops.
 * When the V23 script adds .sf-v23-price-ready, its older high-specificity
 * display:block!important rule can override V25's mobile hide. Match that
 * state with GREATER specificity to guarantee a single mobile price.
 * No WooCommerce hooks/price values are removed or changed.
 */
@media (max-width:780px){
  body.sf-v22-office365.single-product.sf-v23-price-ready div.product .summary > .sf-v23-amazon-price:not([hidden]),
  body.sf-v22-office365.single-product div.product .summary > .sf-v23-amazon-price{
    display:none!important;
  }
}


/* ===== V27: mobile-first BUY section immediately below gallery price =====
 * The existing WooCommerce form and the actual currency selector are moved
 * here, not cloned. Scope is the Office 365 flagship under 781px only.
 */
body.sf-v22-office365.single-product .sf-v27-mobile-purchase{display:none;}
@media(max-width:780px){
  body.sf-v22-office365.single-product div.product > .sf-v25-mobile-price{
    margin-bottom:9px!important;
    padding-bottom:9px!important;
    border-bottom:0!important;
  }
  body.sf-v22-office365.single-product div.product > .sf-v27-mobile-purchase{
    display:block!important;
    clear:both;
    box-sizing:border-box;
    width:100%;
    min-width:0;
    padding:0 0 16px;
    margin:0 0 6px;
    border-bottom:1px solid #e5e7eb;
  }
  body.sf-v22-office365.single-product .sf-v27-mobile-purchase > form.cart{
    display:flex!important;
    flex-flow:row wrap!important;
    align-items:center!important;
    width:100%;
    gap:10px!important;
    padding:0!important;
    margin:0!important;
  }
  body.sf-v22-office365.single-product .sf-v27-mobile-purchase form.cart .quantity{
    flex:0 0 64px;
    margin:0!important;
  }
  body.sf-v22-office365.single-product .sf-v27-mobile-purchase form.cart .quantity input.qty{
    width:64px!important;
    box-sizing:border-box;
    min-height:48px!important;
  }
  body.sf-v22-office365.single-product .sf-v27-mobile-purchase form.cart .single_add_to_cart_button{
    flex:1 1 160px;
    width:auto!important;
    min-width:0;
    margin:0!important;
  }
  body.sf-v22-office365.single-product .sf-v27-mobile-purchase form.cart .sf-buy-now{
    flex:0 0 100%;
    width:100%!important;
    box-sizing:border-box;
    margin:0!important;
  }
  body.sf-v22-office365.single-product .sf-v27-mobile-purchase > [class*="currency"],
  body.sf-v22-office365.single-product .sf-v27-mobile-purchase > [id*="currency"],
  body.sf-v22-office365.single-product .sf-v27-mobile-purchase > [class*="yay"],
  body.sf-v22-office365.single-product .sf-v27-mobile-purchase form.cart > [class*="currency"],
  body.sf-v22-office365.single-product .sf-v27-mobile-purchase form.cart > [id*="currency"],
  body.sf-v22-office365.single-product .sf-v27-mobile-purchase form.cart > [class*="yay"]{
    flex:0 0 100%;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
    order:-1;
    margin:0 0 4px!important;
  }
  body.sf-v22-office365.single-product .sf-v27-mobile-purchase select{
    max-width:100%;
  }
  /* A variable product still keeps WooCommerce's own option-form layout. */
  body.sf-v22-office365.single-product .sf-v27-mobile-purchase form.cart.variations_form{
    display:block!important;
  }
}


/* ===== V29: compact MOBILE classic checkout, preserving all required fields =====
 * WooCommerce/third-party gateways still own the actual inputs and submission.
 * Desktop checkout, product pages and order-received pages are unchanged.
 */
@media (max-width:650px){
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-main{
    padding:14px 0 26px!important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-main > .sf-container.sf-panel{
    padding:14px 12px 20px!important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields{
    padding:15px 13px!important;
    border-radius:12px!important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields > h3{
    font-size:20px!important;
    line-height:1.25!important;
    margin:0 0 12px!important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields__field-wrapper{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:10px!important;
    row-gap:10px!important;
    align-items:start;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields__field-wrapper > .form-row{
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    float:none!important;
    clear:none!important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields__field-wrapper .form-row label{
    display:block;
    font-size:13px!important;
    font-weight:750!important;
    line-height:1.25!important;
    margin:0 0 4px!important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields input.input-text,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields select,
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields .select2-selection{
    width:100%!important;
    min-height:46px!important;
    height:46px!important;
    font-size:16px!important; /* prevents zooming when focused on iPhone */
    border-radius:8px!important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields .select2-selection__rendered{
    line-height:44px!important;
    font-size:16px!important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields .select2-selection__arrow{
    height:44px!important;
  }
  /* Long country, state and phone values need a full row. */
  body.woocommerce-checkout:not(.woocommerce-order-received) #billing_email_field,
  body.woocommerce-checkout:not(.woocommerce-order-received) #billing_country_field,
  body.woocommerce-checkout:not(.woocommerce-order-received) #billing_state_field,
  body.woocommerce-checkout:not(.woocommerce-order-received) #billing_address_1_field,
  body.woocommerce-checkout:not(.woocommerce-order-received) #billing_address_2_field,
  body.woocommerce-checkout:not(.woocommerce-order-received) #billing_company_field,
  body.woocommerce-checkout:not(.woocommerce-order-received) #billing_phone_field{
    grid-column:1/-1!important;
  }
  /* Two short name fields fit comfortably on the same row. */
  body.woocommerce-checkout:not(.woocommerce-order-received) #billing_first_name_field,
  body.woocommerce-checkout:not(.woocommerce-order-received) #billing_last_name_field{
    grid-column:auto!important;
  }
  /* City and ZIP are paired only after the original fields are placed in DOM
     order by the checkout controller. Without JS, both remain fully usable. */
  body.woocommerce-checkout:not(.woocommerce-order-received) #billing_city_field,
  body.woocommerce-checkout:not(.woocommerce-order-received) #billing_postcode_field{
    grid-column:1/-1!important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-v29-paired-location #billing_city_field,
  body.woocommerce-checkout:not(.woocommerce-order-received) .sf-v29-paired-location #billing_postcode_field{
    grid-column:auto!important;
  }
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading{
    margin-top:18px!important;
  }
}

/* V31 theme: conditional State / Province rules are in checkout CSS/JS assets. */
