/*
Theme Name: Ruporia
Theme URI: https://ruporia.com
Author: Ruporia Team
Description: Premium, flexible, multi-category women’s fashion & lifestyle WooCommerce theme for Ruporia.
Version: 3.0.2
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: ruporia
*/
:root{--rp-primary:#b88978;--rp-primary-dark:#8f6254;--rp-ink:#24201f;--rp-muted:#706866;--rp-bg:#fbf8f5;--rp-surface:#fff;--rp-border:#e9dfda;--rp-radius:18px;--rp-container:1240px;--rp-shadow:0 14px 40px rgba(36,32,31,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--rp-bg);color:var(--rp-ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.rp-container{width:min(calc(100% - 40px),var(--rp-container));margin-inline:auto}.rp-serif{font-family:"Playfair Display",Georgia,serif}.rp-announcement{background:var(--rp-ink);color:#fff;font-size:12px;letter-spacing:.03em}.rp-announcement .rp-container{min-height:36px;display:flex;align-items:center;justify-content:center;text-align:center}.rp-header{background:rgba(255,255,255,.96);border-bottom:1px solid var(--rp-border);position:relative;z-index:50}.rp-header.sticky{position:sticky;top:0}.rp-header-main{min-height:78px;display:flex;align-items:center;gap:28px}.rp-brand{display:flex;align-items:center;min-width:170px}.rp-brand img{max-height:52px;width:auto}.rp-wordmark{font-family:"Playfair Display",Georgia,serif;font-size:28px;letter-spacing:.14em}.rp-nav{display:flex;align-items:center;justify-content:center;flex:1}.rp-nav ul{display:flex;gap:24px;list-style:none;margin:0;padding:0}.rp-nav a{font-size:13px;font-weight:600}.rp-nav a:hover{color:var(--rp-primary)}.rp-actions{display:flex;gap:8px;align-items:center}.rp-icon-btn{width:40px;height:40px;border:0;background:transparent;display:grid;place-items:center;border-radius:50%;cursor:pointer}.rp-icon-btn:hover{background:#f5ece8}.rp-mobile-toggle{display:none}.rp-hero{padding:28px 0 0}.rp-hero-card{position:relative;min-height:600px;overflow:hidden;border-radius:28px;background:linear-gradient(115deg,#f0e0d9 0%,#f7ede8 50%,#e8d5ce 100%);display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.rp-hero-copy{padding:72px 70px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.rp-kicker{font-size:12px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;margin-bottom:18px}.rp-hero h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(48px,6vw,82px);line-height:.98;margin:0 0 24px;max-width:650px}.rp-hero h1 em{color:var(--rp-primary);font-style:normal}.rp-hero p{max-width:520px;color:var(--rp-muted);font-size:17px;margin:0 0 30px}.rp-cta-row{display:flex;gap:12px;flex-wrap:wrap}.rp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;border:1px solid var(--rp-primary);background:var(--rp-primary);color:#fff;font-weight:700;font-size:13px;transition:.2s}.rp-btn:hover{background:var(--rp-primary-dark);border-color:var(--rp-primary-dark);transform:translateY(-1px)}.rp-btn.alt{background:transparent;color:var(--rp-ink);border-color:var(--rp-ink)}.rp-hero-media{position:relative;min-height:520px;display:flex;align-items:flex-end;justify-content:center;padding:32px}.rp-hero-media img{width:100%;height:100%;object-fit:cover;border-radius:22px;background:rgba(255,255,255,.55);box-shadow:var(--rp-shadow)}.rp-hero-fallback{position:absolute;inset:32px;overflow:hidden;border-radius:22px;background:radial-gradient(circle at 65% 30%,#fff 0 10%,transparent 11%),radial-gradient(circle at 40% 50%,#d6b5a7 0 15%,transparent 16%),linear-gradient(145deg,#d8b7aa,#f6e9e4 50%,#c9a093);box-shadow:var(--rp-shadow)}.rp-hero-fallback:before{content:"R";position:absolute;right:10%;top:8%;font-family:"Playfair Display",Georgia,serif;font-size:190px;color:rgba(255,255,255,.38)}.rp-section{padding:76px 0}.rp-section.compact{padding:42px 0}.rp-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.rp-section-head h2{font-family:"Playfair Display",Georgia,serif;font-size:40px;line-height:1.05;margin:0}.rp-section-head p{margin:8px 0 0;color:var(--rp-muted)}.rp-link{font-weight:700;font-size:13px;color:var(--rp-primary-dark)}.rp-category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.rp-category{min-height:280px;border-radius:var(--rp-radius);overflow:hidden;position:relative;background:linear-gradient(145deg,#eee0db,#d4b3a7);display:flex;align-items:end}.rp-category .media{position:absolute;inset:0;background-size:cover;background-position:center}.rp-category .overlay{position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,0,0,.62))}.rp-category .content{position:relative;color:#fff;padding:22px;z-index:2}.rp-category h3{font-family:"Playfair Display",Georgia,serif;font-size:27px;margin:0}.rp-category span{font-size:12px}.rp-benefits{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--rp-border);border-radius:18px;background:#fff}.rp-benefit{padding:22px 16px;text-align:center;border-right:1px solid var(--rp-border)}.rp-benefit:last-child{border-right:0}.rp-benefit .icon{font-size:22px;margin-bottom:7px}.rp-benefit strong{display:block;font-size:12px}.rp-benefit span{font-size:11px;color:var(--rp-muted)}.rp-products{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.rp-product{background:#fff;border:1px solid var(--rp-border);border-radius:18px;overflow:hidden;position:relative}.rp-product-media{aspect-ratio:1/1.1;background:#f4ebe7;position:relative;overflow:hidden}.rp-product-media img{width:100%;height:100%;object-fit:cover;transition:.35s}.rp-product:hover img{transform:scale(1.03)}.rp-product-badge{position:absolute;top:12px;left:12px;background:var(--rp-primary);color:#fff;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800}.rp-wish{position:absolute;right:10px;top:10px;background:#fff;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.08)}.rp-product-info{padding:16px}.rp-product-info h3{font-size:14px;margin:0 0 5px}.rp-price{font-weight:800;color:var(--rp-primary-dark)}.rp-price del{font-weight:500;color:#aaa;margin-right:6px}.rp-rating{font-size:11px;color:#b78c1f;margin:6px 0}.rp-product-actions{display:flex;gap:8px;margin-top:12px}.rp-product-actions .rp-btn{min-height:40px;padding:0 14px;font-size:11px;flex:1}.rp-editorial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.rp-editorial{min-height:300px;border-radius:22px;overflow:hidden;position:relative;background:linear-gradient(120deg,#f0e2dc,#d1b2a6)}.rp-editorial .media{position:absolute;inset:0;background-size:cover;background-position:center}.rp-editorial .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,15,14,.66),transparent 70%)}.rp-editorial .copy{position:relative;color:#fff;padding:44px;max-width:430px}.rp-editorial h3{font-family:"Playfair Display",Georgia,serif;font-size:38px;margin:0 0 8px}.rp-editorial p{margin:0 0 20px;color:rgba(255,255,255,.86)}.rp-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.rp-review{background:#fff;border:1px solid var(--rp-border);border-radius:18px;padding:28px}.rp-review .stars{letter-spacing:.1em;color:#c7982d}.rp-review p{font-family:"Playfair Display",Georgia,serif;font-size:19px}.rp-review strong{font-size:12px}.rp-newsletter{background:var(--rp-primary);color:#fff;border-radius:24px;padding:42px;display:flex;align-items:center;justify-content:space-between;gap:30px}.rp-newsletter h2{font-family:"Playfair Display",Georgia,serif;font-size:38px;margin:0}.rp-newsletter p{margin:5px 0 0;color:rgba(255,255,255,.82)}.rp-newsletter form{display:flex;min-width:min(520px,100%)}.rp-newsletter input{flex:1;border:0;padding:15px 18px;border-radius:999px 0 0 999px}.rp-newsletter button{border:0;padding:0 22px;border-radius:0 999px 999px 0;background:var(--rp-ink);color:#fff;font-weight:700}.rp-footer{background:#211e1d;color:#fff;margin-top:0;padding:60px 0 24px}.rp-footer-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:35px}.rp-footer h3{font-family:"Playfair Display",Georgia,serif;margin:0 0 14px;font-size:22px}.rp-footer h4{font-size:12px;text-transform:uppercase;letter-spacing:.12em}.rp-footer p,.rp-footer a{color:#bdb6b2;font-size:13px}.rp-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}.rp-footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:18px;display:flex;justify-content:space-between;gap:15px;color:#999;font-size:11px}.rp-mobile-bottom{display:none}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:18px;margin:0!important}.woocommerce ul.products li.product{width:auto!important;margin:0!important}.woocommerce div.product{background:#fff;border:1px solid var(--rp-border);border-radius:20px;padding:22px}.woocommerce div.product div.images img{border-radius:18px}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{border-radius:999px;background:var(--rp-primary);color:#fff;padding:12px 20px}.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--rp-primary-dark);color:#fff}.woocommerce span.onsale{background:var(--rp-primary);min-width:50px;min-height:50px;line-height:50px;padding:0}.site-main{min-height:40vh}.rp-shop-wrap{padding:55px 0}.rp-shop-head{margin-bottom:30px}.rp-shop-head h1{font-family:"Playfair Display",Georgia,serif;font-size:48px;margin:0}.rp-shop-head p{color:var(--rp-muted)}.rp-empty{padding:60px;text-align:center;border:1px dashed var(--rp-border);border-radius:20px;background:#fff}
@media (min-width:681px) and (max-width:1024px){.rp-nav ul{gap:13px}.rp-category-grid{grid-template-columns:repeat(3,1fr)}.rp-products,.woocommerce ul.products{grid-template-columns:repeat(3,1fr)!important}.rp-benefits{grid-template-columns:repeat(3,1fr)}.rp-benefit:nth-child(3){border-right:0}.rp-benefit:nth-child(n+4){border-top:1px solid var(--rp-border)}.rp-footer-grid{grid-template-columns:repeat(3,1fr)}.rp-hero-card{grid-template-columns:1fr}.rp-hero-media{min-height:430px}.rp-hero-copy{padding:55px}.rp-newsletter{display:block}.rp-newsletter form{margin-top:20px}}
@media(max-width:680px){.rp-container{width:min(calc(100% - 24px),var(--rp-container))}.rp-header-main{min-height:68px;justify-content:space-between}.rp-brand{min-width:auto}.rp-nav{display:none}.rp-mobile-toggle{display:grid}.rp-actions .desktop-only{display:none}.rp-hero{padding-top:12px}.rp-hero-card{min-height:auto;border-radius:20px}.rp-hero-copy{padding:42px 26px 28px}.rp-hero h1{font-size:48px}.rp-hero p{font-size:14px}.rp-hero-media{min-height:340px;padding:14px}.rp-hero-fallback{inset:14px}.rp-section{padding:55px 0}.rp-section-head h2{font-size:32px}.rp-category-grid{grid-template-columns:repeat(2,1fr);gap:10px}.rp-category{min-height:220px}.rp-products,.woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important;gap:10px}.rp-benefits{grid-template-columns:repeat(2,1fr)}.rp-benefit{border-right:0}.rp-benefit:nth-child(n+3){border-top:1px solid var(--rp-border)}.rp-editorial-grid,.rp-reviews{grid-template-columns:1fr}.rp-editorial{min-height:280px}.rp-editorial .copy{padding:30px}.rp-newsletter{padding:28px}.rp-newsletter h2{font-size:32px}.rp-newsletter form{min-width:0}.rp-footer-grid{grid-template-columns:1fr 1fr;gap:28px}.rp-footer-grid>div:first-child{grid-column:1/-1}.rp-footer-bottom{display:block}.rp-footer-bottom span{display:block;margin-top:7px}.rp-mobile-bottom{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:10px;right:10px;bottom:10px;background:#fff;border:1px solid var(--rp-border);border-radius:18px;box-shadow:0 12px 35px rgba(0,0,0,.14);z-index:80;padding:7px}.rp-mobile-bottom a{text-align:center;font-size:10px;color:var(--rp-muted)}.rp-mobile-bottom span{display:block;font-size:18px;line-height:22px}.woocommerce .woocommerce-ordering,.woocommerce .woocommerce-result-count{float:none;margin-bottom:14px}.woocommerce div.product{padding:12px}.woocommerce .quantity .qty{min-height:42px}}

/* Ruporia v2.3 responsive tablet system */
@media (min-width:681px) and (max-width:1024px){
  .rp-container{width:min(calc(100% - 36px),var(--rp-container))}
  .rp-header-main{min-height:var(--rp-tablet-header-height,70px);gap:18px}
  .rp-brand{min-width:145px}
  .rp-nav ul{gap:14px}
  .rp-nav a{font-size:12px}
  .rp-hero{padding-top:20px}
  .rp-hero-card{min-height:var(--rp-tablet-hero-height,560px);grid-template-columns:var(--rp-tablet-hero-columns,1fr 1fr);border-radius:var(--rp-tablet-hero-radius,24px)}
  .rp-hero-copy{padding:var(--rp-tablet-hero-padding,48px)}
  .rp-hero h1{font-size:var(--rp-tablet-hero-title,58px);max-width:520px}
  .rp-hero p{font-size:var(--rp-tablet-hero-text,15px)}
  .rp-hero-media{min-height:var(--rp-tablet-hero-media-height,430px);padding:22px}
  .rp-hero-fallback{inset:22px}
  .rp-category-grid{grid-template-columns:repeat(var(--rp-tablet-cat-cols,3),1fr)!important}
  .rp-products,.woocommerce ul.products{grid-template-columns:repeat(var(--rp-tablet-product-cols,3),1fr)!important}
  .rp-benefits{grid-template-columns:repeat(3,1fr)}
  .rp-benefit:nth-child(3){border-right:0}
  .rp-benefit:nth-child(n+4){border-top:1px solid var(--rp-border)}
  .rp-editorial-grid{grid-template-columns:repeat(2,1fr)}
  .rp-reviews{grid-template-columns:repeat(2,1fr)}
  .rp-newsletter{padding:34px}
  .rp-footer-grid{grid-template-columns:repeat(3,1fr)}
  .rp-mobile-bottom{display:none!important}
}
@media(max-width:680px){
  body{padding-bottom:92px}
  .rp-mobile-bottom{bottom:max(10px,env(safe-area-inset-bottom));padding-bottom:max(7px,env(safe-area-inset-bottom))}
}

/* Ruporia v2 preview/compatibility safeguards */
.customize-partial-edit-shortcut button,
.customize-partial-edit-shortcut button:hover{background:var(--rp-primary)!important;color:#fff!important}
.rp-brand .custom-logo-link{display:flex;align-items:center}
.rp-brand .custom-logo{width:auto}
.rp-cart-count{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 4px;margin-left:-7px;margin-top:-20px;border-radius:999px;background:var(--rp-primary);color:#fff;font-size:9px;line-height:1}
@media(max-width:680px){.rp-nav{z-index:100}.rp-nav ul{display:flex;flex-direction:column;gap:12px}.rp-brand .custom-logo{width:auto}.rp-cart-count{margin-top:-18px}}

.rp-category-fallback{background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.75),transparent 24%),linear-gradient(135deg,#e9d8d0,#c89f91)} .rp-cat-bags{background:linear-gradient(135deg,#d7c1b8,#a98174)} .rp-cat-beauty{background:linear-gradient(135deg,#f0d8d6,#cfa5a1)} .rp-cat-fashion{background:linear-gradient(135deg,#dbcfc5,#a58e80)} .rp-cat-accessories{background:linear-gradient(135deg,#ded7ce,#b9a38f)} .rp-product-placeholder{width:100%;height:100%;background:linear-gradient(145deg,#f2e5df,#d1b2a5)}


/* Ruporia v2.3.1 — robust tablet overflow/layout fix */
html, body { max-width:100%; overflow-x:hidden; }
.rp-container, .rp-hero-card, .rp-hero-copy, .rp-hero-media, .rp-section, .rp-category-grid, .rp-products { min-width:0; max-width:100%; }
.rp-hero-copy, .rp-hero-media { min-width:0; }
.rp-hero h1, .rp-hero p { overflow-wrap:anywhere; }
.rp-hero-media img, .rp-hero-fallback { max-width:100%; min-width:0; }

@media (min-width:681px) and (max-width:1100px){
  .rp-container{width:min(calc(100% - 32px),var(--rp-container));}
  .rp-hero-card{
    width:100%;
    min-width:0;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    overflow:hidden;
  }
  .rp-hero-card.rp-tablet-stacked{grid-template-columns:minmax(0,1fr);}
  .rp-hero-copy{min-width:0;padding:clamp(32px,5vw,52px);}
  .rp-hero h1{font-size:clamp(44px,6vw,62px);max-width:100%;}
  .rp-hero p{max-width:100%;}
  .rp-hero-media{min-width:0;min-height:clamp(340px,42vw,460px);padding:20px;overflow:hidden;}
  .rp-hero-media img,.rp-hero-fallback{width:100%;min-width:0;max-width:100%;height:100%;object-fit:cover;}
  .rp-hero-fallback{inset:20px;}
  .rp-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .rp-products,.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .rp-footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .rp-mobile-bottom{display:none!important;}
}

@media (max-width:680px){
  .rp-container{width:calc(100% - 24px);}
  .rp-hero-card{grid-template-columns:minmax(0,1fr)!important;overflow:hidden;}
  .rp-hero-copy{min-width:0;}
  .rp-hero-media{min-width:0;width:100%;}
  .rp-hero h1{max-width:100%;font-size:clamp(36px,10vw,48px);}
}


/* Ruporia v2.3.2 — rebuilt tablet hero layout */
@media (min-width:681px) and (max-width:1024px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .rp-container{width:calc(100% - 32px);max-width:var(--rp-container);min-width:0}
  .rp-hero{width:100%;min-width:0;overflow:visible}
  .rp-hero-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;
    gap:0;
    overflow:hidden;
    align-items:stretch;
  }
  .rp-hero-card.rp-tablet-stacked{grid-template-columns:minmax(0,1fr)!important}
  .rp-hero-copy{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    padding:clamp(30px,4.5vw,52px)!important;
    overflow:hidden;
  }
  .rp-hero h1{
    width:100%;
    max-width:none!important;
    min-width:0;
    font-size:clamp(42px,5.2vw,60px)!important;
    line-height:.98;
    overflow-wrap:anywhere;
    word-break:normal;
  }
  .rp-hero p{width:100%;max-width:100%!important;font-size:clamp(14px,1.7vw,16px)!important}
  .rp-cta-row{max-width:100%;flex-wrap:wrap}
  .rp-btn{max-width:100%}
  .rp-hero-media{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:clamp(360px,43vw,500px)!important;
    height:100%;
    padding:20px!important;
    overflow:hidden;
  }
  .rp-hero-media img,.rp-hero-fallback{
    position:relative;
    inset:auto;
    display:block;
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:320px;
    object-fit:cover;
  }
  .rp-hero-fallback{position:absolute;inset:20px;width:calc(100% - 40px)!important;height:calc(100% - 40px)!important}
  .rp-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .rp-products,.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .rp-mobile-bottom{display:none!important}
}
.rp-builder-custom .rp-builder-elements{display:flex;flex-direction:column;gap:18px}.rp-builder-custom .rp-builder-image{display:block;width:100%;height:auto;border-radius:var(--rp-radius,18px)}.rp-builder-custom .rp-builder-text{max-width:760px}.rp-builder-custom hr{width:100%;border:0;border-top:1px solid rgba(0,0,0,.12)}
/* Ruporia 2.5 element-level builder */
.rp-builder-element{box-sizing:border-box}.rp-builder-element h2{font-size:var(--rp-el-size,inherit)}.rp-builder-element .rp-builder-text{font-size:var(--rp-el-size,inherit)}.rp-builder-element img,.rp-builder-image{max-width:100%;height:auto;display:block}.rp-builder-icon{font-size:2.5rem;display:inline-block}.rp-builder-video video{width:100%;max-width:100%;display:block}.rp-builder-spacer{height:40px}.rp-hide-desktop{display:none!important}@media(max-width:1024px){.rp-hide-desktop{display:block!important}.rp-hide-tablet{display:none!important}.rp-builder-element h2,.rp-builder-element .rp-builder-text{font-size:var(--rp-el-tablet-size,var(--rp-el-size,inherit))}}@media(max-width:760px){.rp-hide-tablet{display:block!important}.rp-hide-mobile{display:none!important}.rp-builder-element h2,.rp-builder-element .rp-builder-text{font-size:var(--rp-el-mobile-size,var(--rp-el-tablet-size,var(--rp-el-size,inherit)))}}


/* Ruporia v2.6.2 — final tablet responsive system */
@media (min-width:681px) and (max-width:1024px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .rp-container{width:calc(100% - 32px)!important;max-width:var(--rp-container)!important;margin-inline:auto;min-width:0}

  /* Tablet header: keep brand, navigation and actions on one clean row */
  .rp-header-main{min-height:70px;gap:14px;min-width:0}
  .rp-brand{min-width:135px;flex:0 0 auto}
  .rp-wordmark{font-size:23px;letter-spacing:.11em;white-space:nowrap}
  .rp-brand img{max-height:44px;max-width:135px}
  .rp-nav{min-width:0;overflow:hidden}
  .rp-nav ul{gap:clamp(8px,1.35vw,14px);justify-content:center;white-space:nowrap}
  .rp-nav a{font-size:clamp(10px,1.25vw,12px)}
  .rp-actions{flex:0 0 auto;gap:2px}
  .rp-icon-btn{width:34px;height:34px}

  /* Hero: balanced two-column tablet layout */
  .rp-hero{padding-top:20px}
  .rp-hero-card{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr)!important;min-height:clamp(430px,49vw,500px);border-radius:24px}
  .rp-hero-copy{padding:clamp(28px,3.8vw,44px)!important;min-width:0;overflow:hidden}
  .rp-kicker{font-size:10px;letter-spacing:.18em;margin-bottom:13px}
  .rp-hero h1{font-size:clamp(40px,5.1vw,54px)!important;line-height:.98;margin-bottom:18px;max-width:100%;overflow-wrap:normal;word-break:normal}
  .rp-hero p{font-size:clamp(13px,1.65vw,16px)!important;line-height:1.55;margin-bottom:22px;max-width:100%}
  .rp-cta-row{gap:9px;flex-wrap:wrap}
  .rp-btn{min-height:44px;padding:0 17px;font-size:11px}
  .rp-hero-media{min-height:0!important;height:auto;padding:16px!important;overflow:hidden}
  .rp-hero-media img{width:100%!important;height:100%!important;min-height:0!important;object-fit:cover;border-radius:18px}
  .rp-hero-fallback{inset:16px!important;width:calc(100% - 32px)!important;height:calc(100% - 32px)!important;border-radius:18px}

  /* Section spacing and headings */
  .rp-section{padding:48px 0}
  .rp-section.compact{padding:34px 0}
  .rp-section-head{gap:14px;margin-bottom:22px}
  .rp-section-head h2{font-size:clamp(30px,3.7vw,38px)}
  .rp-section-head p{font-size:14px}

  /* Category / product / benefit grids */
  .rp-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px}
  .rp-category{min-height:clamp(190px,24vw,235px)}
  .rp-category .content{padding:16px}
  .rp-category h3{font-size:22px}
  .rp-products,.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px}
  .rp-product-info{padding:13px}
  .rp-product-info h3{font-size:13px}
  .rp-product-actions{gap:6px}
  .rp-product-actions .rp-btn{padding:0 10px;font-size:10px}
  .rp-benefits{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .rp-benefit{padding:17px 10px}
  .rp-benefit:nth-child(3){border-right:0}
  .rp-benefit:nth-child(n+4){border-top:1px solid var(--rp-border)}

  /* Editorial/reviews/newsletter/footer */
  .rp-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .rp-editorial{min-height:245px}
  .rp-editorial .copy{padding:30px}
  .rp-editorial h3{font-size:32px}
  .rp-reviews{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .rp-review{padding:20px}
  .rp-review p{font-size:17px}
  .rp-newsletter{padding:32px;gap:22px}
  .rp-newsletter h2{font-size:32px}
  .rp-newsletter form{min-width:0;width:100%}
  .rp-footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
  .rp-mobile-bottom{display:none!important}

  /* Custom builder sections respect tablet width */
  .rp-builder-custom .rp-builder-elements{min-width:0}
  .rp-builder-element{min-width:0;max-width:100%;overflow-wrap:anywhere}
  .rp-builder-element img,.rp-builder-image,.rp-builder-video video{max-width:100%;height:auto}
}

/* Narrow tablets: give the hero slightly more text room and avoid crowded nav */
@media (min-width:681px) and (max-width:820px){
  .rp-header-main{gap:8px}
  .rp-brand{min-width:120px}
  .rp-wordmark{font-size:20px}
  .rp-nav ul{gap:7px}
  .rp-nav a{font-size:10px}
  .rp-icon-btn{width:30px;height:30px}
  .rp-hero-card{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)!important;min-height:clamp(420px,52vw,480px)!important}
  .rp-hero-copy{padding:28px!important}
  .rp-hero h1{font-size:clamp(38px,5.5vw,46px)!important}
  .rp-btn{padding:0 13px;font-size:10px}
}


/* Ruporia v2.6.4 — final tablet visual polish */
@media (min-width:681px) and (max-width:1024px){
  /* Category cards: shorter, cleaner and easier to scan on tablets */
  .rp-category-grid{
    gap:12px!important;
  }
  .rp-category{
    min-height:210px!important;
    border-radius:18px!important;
  }
  .rp-category .overlay{
    background:linear-gradient(transparent 28%,rgba(0,0,0,.58))!important;
  }
  .rp-category .content{
    padding:14px 15px!important;
  }
  .rp-category h3{
    font-size:20px!important;
    line-height:1.05!important;
    margin-bottom:3px!important;
  }
  .rp-category span{
    font-size:10px!important;
    line-height:1.35!important;
  }

  /* Keep the section header compact so the cards appear sooner */
  .rp-section-head{
    margin-bottom:18px!important;
  }

  /* Consistent tablet product card proportions */
  .rp-product{
    border-radius:16px!important;
  }
  .rp-product-media{
    aspect-ratio:1/1.02!important;
  }

  /* Trust benefits: less vertical bulk */
  .rp-benefit{
    padding:14px 9px!important;
  }
  .rp-benefit .icon{
    font-size:19px!important;
    margin-bottom:4px!important;
  }
  .rp-benefit strong{
    font-size:11px!important;
  }
  .rp-benefit span{
    font-size:10px!important;
  }

  /* Editorial blocks stay compact and premium */
  .rp-editorial{
    min-height:225px!important;
    border-radius:18px!important;
  }
  .rp-editorial .copy{
    padding:24px!important;
  }
  .rp-editorial h3{
    font-size:29px!important;
  }
}

@media (min-width:681px) and (max-width:820px){
  .rp-category{
    min-height:195px!important;
  }
  .rp-category h3{
    font-size:18px!important;
  }
  .rp-category span{
    font-size:9px!important;
  }
}

/* =========================================================
   Ruporia v2.6.5 — Final Mobile Responsive Polish
   Mobile only: <= 680px. Desktop/Tablet untouched.
   ========================================================= */
@media (max-width:680px){
  html,body{width:100%;max-width:100%;overflow-x:hidden!important}
  body{padding-bottom:86px!important}

  .rp-container{width:calc(100% - 24px)!important;max-width:100%!important;min-width:0!important}

  /* Announcement */
  .rp-announcement{font-size:10px!important;line-height:1.35!important}
  .rp-announcement .rp-container{min-height:38px!important;padding:6px 8px!important;white-space:normal!important}

  /* Mobile header */
  .rp-header{position:relative!important;z-index:1000!important}
  .rp-header-main{min-height:62px!important;height:62px!important;gap:8px!important;min-width:0!important}
  .rp-mobile-toggle{display:grid!important;flex:0 0 34px!important;width:34px!important;height:34px!important;font-size:19px!important;padding:0!important}
  .rp-brand{min-width:0!important;flex:1 1 auto!important;justify-content:center!important}
  .rp-brand .custom-logo{width:auto!important}
  .rp-wordmark{font-size:24px!important;letter-spacing:.11em!important;white-space:nowrap!important}
  .rp-nav{display:none;position:absolute!important;top:62px!important;left:12px!important;right:12px!important;width:auto!important;flex:none!important;background:#fff!important;border:1px solid var(--rp-border)!important;border-radius:18px!important;padding:16px!important;box-shadow:0 15px 40px rgba(0,0,0,.12)!important}
  .rp-nav ul{display:flex!important;flex-direction:column!important;gap:0!important;margin:0!important;padding:0!important;width:100%!important}
  .rp-nav li{width:100%!important;border-bottom:1px solid var(--rp-border)!important}
  .rp-nav li:last-child{border-bottom:0!important}
  .rp-nav a{display:block!important;padding:11px 6px!important;font-size:12px!important}
  .rp-actions{flex:0 0 auto!important;gap:2px!important}
  .rp-actions .rp-icon-btn{width:32px!important;height:32px!important;font-size:15px!important}
  .rp-actions .desktop-only{display:none!important}
  .rp-cart-count{margin-top:-16px!important;margin-left:-6px!important}

  /* Hero */
  .rp-hero{padding:12px 0 0!important;width:100%!important;min-width:0!important}
  .rp-hero-card{display:grid!important;grid-template-columns:minmax(0,1fr)!important;min-height:0!important;height:auto!important;width:100%!important;max-width:100%!important;border-radius:22px!important;overflow:hidden!important}
  .rp-hero-copy{padding:30px 22px 22px!important;min-width:0!important;width:100%!important;max-width:100%!important;overflow:visible!important}
  .rp-kicker{font-size:9px!important;letter-spacing:.17em!important;line-height:1.45!important;margin-bottom:12px!important}
  .rp-hero h1{font-size:clamp(38px,11vw,48px)!important;line-height:.94!important;letter-spacing:-1.1px!important;margin:0 0 16px!important;max-width:100%!important;width:100%!important;overflow-wrap:normal!important;word-break:normal!important}
  .rp-hero p{font-size:12px!important;line-height:1.5!important;margin:0 0 18px!important;max-width:310px!important}
  .rp-cta-row{display:flex!important;gap:8px!important;flex-wrap:wrap!important;width:100%!important}
  .rp-btn{min-height:42px!important;height:auto!important;padding:0 15px!important;font-size:10px!important;line-height:1.2!important;white-space:nowrap!important}

  /* Hero visual: remove desktop 520px minimum on mobile */
  .rp-hero-media{position:relative!important;display:block!important;width:100%!important;min-width:0!important;min-height:0!important;height:230px!important;padding:12px!important;overflow:hidden!important}
  .rp-hero-media picture{display:block!important;width:100%!important;height:100%!important}
  .rp-hero-media img{display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;object-fit:cover!important;object-position:center!important;border-radius:17px!important}
  .rp-hero-fallback{inset:12px!important;width:calc(100% - 24px)!important;height:calc(100% - 24px)!important;min-height:0!important;border-radius:17px!important}
  .rp-hero-fallback:before{font-size:120px!important}

  /* Section headings */
  .rp-section{padding:38px 0!important}
  .rp-section.compact{padding:28px 0!important}
  .rp-section-head{display:flex!important;align-items:flex-end!important;gap:10px!important;margin-bottom:16px!important}
  .rp-section-head h2{font-size:30px!important;line-height:1.05!important}
  .rp-section-head p{font-size:11px!important;line-height:1.45!important;margin:6px 0 0!important}
  .rp-link{font-size:11px!important;white-space:nowrap!important}

  /* Category: horizontal swipe, one premium card at a time */
  .rp-category-grid{display:flex!important;grid-template-columns:none!important;flex-wrap:nowrap!important;gap:10px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:3px 0 10px!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important}
  .rp-category-grid::-webkit-scrollbar{display:none!important}
  .rp-category{flex:0 0 72%!important;width:72%!important;min-width:72%!important;min-height:230px!important;height:230px!important;border-radius:18px!important;scroll-snap-align:start!important}
  .rp-category .content{padding:16px!important}
  .rp-category h3{font-size:24px!important;line-height:1.05!important;margin:0!important}
  .rp-category span{font-size:10px!important;line-height:1.35!important}

  /* Product grid */
  .rp-products,.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .rp-product{border-radius:14px!important}
  .rp-product-media{aspect-ratio:1/1.04!important}
  .rp-product-info{padding:11px!important}
  .rp-product-info h3{font-size:12px!important;line-height:1.35!important}
  .rp-product-actions{gap:5px!important;flex-wrap:wrap!important}
  .rp-product-actions .rp-btn{min-height:36px!important;padding:0 9px!important;font-size:9px!important}

  /* Benefits */
  .rp-benefits{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .rp-benefit{padding:14px 8px!important}
  .rp-benefit:nth-child(3){border-right:1px solid var(--rp-border)!important}
  .rp-benefit:nth-child(even){border-right:0!important}
  .rp-benefit:nth-child(n+3){border-top:1px solid var(--rp-border)!important}
  .rp-benefit .icon{font-size:18px!important}
  .rp-benefit strong{font-size:10px!important}
  .rp-benefit span{font-size:9px!important}

  /* Editorial / reviews */
  .rp-editorial-grid{grid-template-columns:1fr!important;gap:12px!important}
  .rp-editorial{min-height:250px!important;border-radius:18px!important}
  .rp-editorial .copy{padding:26px!important}
  .rp-editorial h3{font-size:30px!important}
  .rp-reviews{grid-template-columns:1fr!important;gap:12px!important}
  .rp-review{padding:20px!important}
  .rp-review p{font-size:17px!important}

  /* Newsletter */
  .rp-newsletter{display:block!important;padding:26px 20px!important;border-radius:20px!important}
  .rp-newsletter h2{font-size:30px!important}
  .rp-newsletter p{font-size:12px!important}
  .rp-newsletter form{display:flex!important;width:100%!important;min-width:0!important;margin-top:16px!important}
  .rp-newsletter input{min-width:0!important;width:100%!important;padding:12px 14px!important}
  .rp-newsletter button{padding:0 15px!important}

  /* Footer */
  .rp-footer{padding:42px 0 20px!important}
  .rp-footer-grid{grid-template-columns:1fr 1fr!important;gap:24px 18px!important}
  .rp-footer-grid>div:first-child{grid-column:1/-1!important}
  .rp-footer-bottom{display:block!important;margin-top:28px!important;padding-top:16px!important}
  .rp-footer-bottom span{display:block!important;margin-top:6px!important}

  /* Fixed bottom navigation — keep it above content, but never inside hero */
  .rp-mobile-bottom{position:fixed!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;left:10px!important;right:10px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;width:auto!important;height:62px!important;padding:6px 4px!important;background:rgba(255,255,255,.98)!important;border:1px solid var(--rp-border)!important;border-radius:20px!important;box-shadow:0 12px 35px rgba(0,0,0,.14)!important;z-index:99999!important}
  .rp-mobile-bottom a{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:1px!important;min-width:0!important;min-height:50px!important;font-size:9px!important;line-height:1.1!important;color:var(--rp-muted)!important;text-align:center!important}
  .rp-mobile-bottom span{display:block!important;font-size:18px!important;line-height:21px!important}

  /* Builder custom sections */
  .rp-builder-custom .rp-builder-elements{gap:12px!important;min-width:0!important}
  .rp-builder-element{min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important}
  .rp-builder-element h2{font-size:var(--rp-el-mobile-size,var(--rp-el-tablet-size,var(--rp-el-size,inherit)))!important;line-height:1.1!important}
  .rp-builder-element .rp-builder-text{font-size:var(--rp-el-mobile-size,var(--rp-el-tablet-size,var(--rp-el-size,inherit)))!important;line-height:1.5!important}
  .rp-builder-element img,.rp-builder-image,.rp-builder-video video{max-width:100%!important;height:auto!important}
}

@media (max-width:390px){
  .rp-container{width:calc(100% - 18px)!important}
  .rp-header-main{gap:5px!important}
  .rp-mobile-toggle{flex-basis:32px!important;width:32px!important}
  .rp-wordmark{font-size:22px!important}
  .rp-actions .rp-icon-btn{width:29px!important;height:29px!important}

  /* Compact hero for narrow phones: keep both CTAs visible above the fixed nav */
  .rp-hero{padding-top:10px!important}
  .rp-hero-copy{padding:24px 18px 16px!important}
  .rp-kicker{font-size:8px!important;margin-bottom:9px!important}
  .rp-hero h1{font-size:34px!important;line-height:.9!important;letter-spacing:-.8px!important;margin-bottom:12px!important}
  .rp-hero p{font-size:11px!important;line-height:1.4!important;margin-bottom:12px!important;max-width:275px!important}
  .rp-cta-row{gap:6px!important;flex-wrap:nowrap!important;align-items:center!important}
  .rp-btn{min-height:38px!important;padding:0 10px!important;font-size:8.5px!important;letter-spacing:-.05px!important}
  .rp-hero-media{height:190px!important}
  .rp-category{flex-basis:78%!important;width:78%!important;min-width:78%!important}
}

/* Ruporia v2.7.3 — mobile hero final safe-area balance */
@media (max-width:680px){
  .rp-hero{
    padding-bottom:0!important;
  }
  .rp-hero-card{
    overflow:hidden!important;
    min-height:0!important;
  }
  .rp-hero-copy{
    padding-bottom:10px!important;
  }
  /* Keep the promotional visual clearly above the fixed bottom navigation. */
  .rp-hero-media{
    height:88px!important;
    min-height:88px!important;
    padding:6px 9px 12px!important;
    overflow:hidden!important;
    background:#f6e6df!important;
  }
  .rp-hero-media picture{
    display:block!important;
    width:100%!important;
    height:70px!important;
    overflow:hidden!important;
    border-radius:15px!important;
  }
  .rp-hero-media img{
    display:block!important;
    width:100%!important;
    height:70px!important;
    object-fit:cover!important;
    object-position:center center!important;
    background:#f6e6df!important;
    border-radius:15px!important;
  }
  .rp-hero-fallback{
    inset:6px 9px 12px!important;
    width:calc(100% - 18px)!important;
    height:70px!important;
    border-radius:15px!important;
  }
  body{
    padding-bottom:104px!important;
  }
}
@media (max-width:390px){
  .rp-hero-copy{
    padding-bottom:8px!important;
  }
  .rp-hero-media{
    height:78px!important;
    min-height:78px!important;
    padding:5px 8px 10px!important;
  }
  .rp-hero-media picture,
  .rp-hero-media img{
    height:62px!important;
    border-radius:14px!important;
  }
  .rp-hero-fallback{
    inset:5px 8px 10px!important;
    width:calc(100% - 16px)!important;
    height:62px!important;
    border-radius:14px!important;
  }
}


/* Ruporia v2.7.5 — mobile category visibility refinement */
@media (max-width:680px){
  /* Keep the next homepage section from appearing underneath the fixed app nav. */
  .rp-hero + .rp-category-section{
    padding-top:28px!important;
  }
  /* Reserve a final document area equal to the floating navigation height. */
  .site-main{
    padding-bottom:104px!important;
  }
  .rp-mobile-bottom{
    bottom:max(8px,env(safe-area-inset-bottom))!important;
  }
}
@media (max-width:390px){
  .rp-hero + .rp-category-section{
    padding-top:22px!important;
  }
  .site-main{
    padding-bottom:96px!important;
  }
}


/* Ruporia v2.7.6 — final mobile bottom-nav clearance */
@media (max-width:680px){
  /* Keep the complete hero above the floating navigation. */
  .rp-hero-card{
    margin-bottom:18px!important;
  }
  .rp-hero-media{
    height:64px!important;
    min-height:64px!important;
    padding:4px 9px 8px!important;
  }
  .rp-hero-media picture,
  .rp-hero-media img{
    height:52px!important;
    border-radius:13px!important;
  }
  .rp-hero-fallback{
    inset:4px 9px 8px!important;
    width:calc(100% - 18px)!important;
    height:52px!important;
    border-radius:13px!important;
  }
  .rp-hero-copy{
    padding-bottom:8px!important;
  }
  .rp-hero h1{
    margin-bottom:10px!important;
  }
  .rp-hero p{
    margin-bottom:12px!important;
  }
  /* The category heading must remain above the floating nav. */
  .rp-hero + .rp-category-section{
    padding-top:0!important;
    margin-top:0!important;
    padding-bottom:120px!important;
  }
  .site-main{
    padding-bottom:120px!important;
  }
}
@media (max-width:390px){
  .rp-hero-card{
    margin-bottom:14px!important;
  }
  .rp-hero-media{
    height:56px!important;
    min-height:56px!important;
    padding:3px 8px 7px!important;
  }
  .rp-hero-media picture,
  .rp-hero-media img{
    height:46px!important;
    border-radius:12px!important;
  }
  .rp-hero-fallback{
    inset:3px 8px 7px!important;
    width:calc(100% - 16px)!important;
    height:46px!important;
    border-radius:12px!important;
  }
}


/* Ruporia v2.7.7 — targeted mobile category heading clearance */
@media (max-width:680px){
  /*
   * The mobile bottom navigation is intentionally fixed/floating.
   * Pull only the first category section upward so its heading clears
   * the floating nav without changing the hero layout or image.
   */
  .rp-hero + .rp-category-section{
    margin-top:-24px!important;
    padding-top:0!important;
    position:relative!important;
    z-index:1!important;
  }
  .rp-hero + .rp-category-section .rp-section-head{
    position:relative!important;
    z-index:2!important;
  }
}
@media (max-width:390px){
  .rp-hero + .rp-category-section{
    margin-top:-20px!important;
  }
}

/* Ruporia v2.7.8 — restore full mobile hero model visibility */
@media (max-width:680px){
  .rp-hero-media{
    height:132px!important;
    min-height:132px!important;
    padding:6px 9px 12px!important;
  }
  .rp-hero-media picture,
  .rp-hero-media img{
    width:100%!important;
    height:114px!important;
    min-height:114px!important;
    object-fit:cover!important;
    object-position:center top!important;
    border-radius:15px!important;
  }
  .rp-hero-fallback{
    inset:6px 9px 12px!important;
    width:calc(100% - 18px)!important;
    height:114px!important;
    border-radius:15px!important;
  }
  .rp-hero + .rp-category-section{
    margin-top:0!important;
    padding-top:18px!important;
  }
}
@media (max-width:390px){
  .rp-hero-media{
    height:116px!important;
    min-height:116px!important;
    padding:5px 8px 10px!important;
  }
  .rp-hero-media picture,
  .rp-hero-media img{
    height:101px!important;
    min-height:101px!important;
    object-position:center top!important;
    border-radius:14px!important;
  }
  .rp-hero-fallback{
    inset:5px 8px 10px!important;
    width:calc(100% - 16px)!important;
    height:101px!important;
    border-radius:14px!important;
  }
  .rp-hero + .rp-category-section{
    padding-top:16px!important;
  }
}


/* Ruporia v2.7.9 — mobile section clearance after Trust Benefits */
@media (max-width:680px){
  /* Keep the following section heading above the fixed bottom navigation. */
  .rp-benefit-section{
    padding-bottom:8px!important;
  }
  .rp-product-section{
    padding-top:28px!important;
  }
  /* Preserve comfortable spacing after the product section content. */
  .rp-product-section + .rp-section{
    padding-top:34px!important;
  }
}
@media (max-width:390px){
  .rp-benefit-section{
    padding-bottom:6px!important;
  }
  .rp-product-section{
    padding-top:24px!important;
  }
}

/* Ruporia v2.8.0 — universal mobile floating-nav clearance */
@media (max-width:680px){
  html{scroll-padding-bottom:110px!important;}

  /* Never let the floating app navigation sit on top of section content. */
  .rp-benefit-section,
  .rp-product-section,
  .rp-editorial-section,
  .rp-review-section,
  .rp-newsletter-section,
  .rp-builder-custom{
    padding-bottom:96px!important;
  }

  /* The category section already has its own clearance rules. */
  .rp-category-section{padding-bottom:112px!important;}

  /* Footer needs its own safe area because the nav remains fixed. */
  .rp-footer{padding-bottom:112px!important;}
  .rp-footer-bottom{margin-bottom:4px!important;}

  /* Keep the final document area clear as well. */
  .site-main{padding-bottom:120px!important;}

  .rp-mobile-bottom{
    bottom:max(8px,env(safe-area-inset-bottom))!important;
  }
}

@media (max-width:390px){
  .rp-benefit-section,
  .rp-product-section,
  .rp-editorial-section,
  .rp-review-section,
  .rp-newsletter-section,
  .rp-builder-custom{padding-bottom:88px!important;}
  .rp-category-section{padding-bottom:104px!important;}
  .rp-footer{padding-bottom:104px!important;}
  .site-main{padding-bottom:112px!important;}
}

/* Ruporia v2.8.1 — compact mobile footer without losing bottom-nav clearance */
@media (max-width:680px){
  .rp-footer{padding:30px 0 84px!important;}
  .rp-footer-grid{grid-template-columns:1fr 1fr!important;gap:20px 16px!important;}
  .rp-footer-grid>div:first-child{grid-column:1/-1;margin-bottom:2px;}
  .rp-footer h3{font-size:20px!important;margin:0 0 8px!important;}
  .rp-footer h4{font-size:11px!important;margin:0 0 8px!important;}
  .rp-footer ul{gap:5px!important;}
  .rp-footer p{font-size:12px!important;line-height:1.45!important;margin:0 0 6px!important;}
  .rp-footer-bottom{margin-top:20px!important;padding-top:12px!important;font-size:10px!important;}
  .rp-footer-bottom span{margin-top:5px!important;}
}
@media (max-width:390px){
  .rp-footer{padding:26px 0 82px!important;}
  .rp-footer-grid{gap:18px 14px!important;}
  .rp-footer ul{gap:4px!important;}
  .rp-footer p{font-size:11px!important;}
  .rp-footer-bottom{margin-top:18px!important;padding-top:11px!important;}
}

/* Ruporia v2.8.2 — footer payment methods */
.rp-payment-methods{margin-top:30px;padding-top:22px;border-top:1px solid rgba(255,255,255,.10);display:flex;align-items:center;justify-content:center;gap:22px;}
.rp-payment-label{color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em;white-space:nowrap;}
.rp-payment-logos{width:min(560px,100%);overflow:hidden;border-radius:4px;background:#171717;}
.rp-payment-logos img{width:100%;height:auto;display:block;}
@media(max-width:680px){
  .rp-payment-methods{margin-top:22px;padding-top:16px;display:block;text-align:center;}
  .rp-payment-label{margin-bottom:10px;font-size:10px;}
  .rp-payment-logos{width:100%;max-width:560px;margin:0 auto;border-radius:3px;}
}


/* Ruporia v2.8.3 — ultra-compact mobile footer */
@media (max-width:680px){
 body{padding-bottom:0!important;}
 .rp-footer{padding:22px 0 68px!important;}
 .rp-footer-grid{gap:14px 12px!important;}
 .rp-footer-grid>div:first-child{margin-bottom:0!important;}
 .rp-footer h3{font-size:19px!important;margin:0 0 6px!important;}
 .rp-footer h4{font-size:10px!important;margin:0 0 6px!important;}
 .rp-footer ul{gap:3px!important;}
 .rp-footer p{font-size:11px!important;line-height:1.35!important;margin:0 0 4px!important;}
 .rp-payment-methods{margin-top:14px!important;padding-top:10px!important;gap:0!important;}
 .rp-payment-label{margin-bottom:6px!important;font-size:10px!important;}
 .rp-payment-logos{width:100%!important;max-width:500px!important;}
 .rp-footer-bottom{margin-top:12px!important;padding-top:9px!important;font-size:9.5px!important;}
 .rp-footer-bottom span{margin-top:4px!important;}
}
@media (max-width:390px){
 .rp-footer{padding:20px 0 66px!important;}
 .rp-footer-grid{gap:12px 10px!important;}
 .rp-footer p{font-size:10.5px!important;}
 .rp-payment-methods{margin-top:12px!important;padding-top:9px!important;}
 .rp-payment-label{margin-bottom:5px!important;font-size:9.5px!important;}
 .rp-footer-bottom{margin-top:10px!important;padding-top:8px!important;font-size:9px!important;}
}


/* Ruporia v2.8.4 — working mobile menu, product search and footer pages */
.rp-search-overlay{position:fixed;inset:0;z-index:100000;display:grid;place-items:start center;padding:10vh 20px 20px;}
.rp-search-overlay[hidden]{display:none!important}
.rp-search-backdrop{position:absolute;inset:0;background:rgba(20,17,16,.58);backdrop-filter:blur(4px)}
.rp-search-dialog{position:relative;width:min(720px,100%);background:#fff;border-radius:24px;padding:42px;box-shadow:0 25px 80px rgba(0,0,0,.22)}
.rp-search-close{position:absolute;right:16px;top:12px;width:38px;height:38px;border:0;background:transparent;font-size:30px;line-height:1;cursor:pointer;color:#24201f}
.rp-search-kicker{font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--rp-primary-dark);margin-bottom:8px}
.rp-search-dialog h2{font-family:var(--rp-heading-font);font-size:42px;line-height:1.05;margin:0 0 24px}
.rp-search-form{display:flex;width:100%;border:1px solid var(--rp-border);border-radius:999px;overflow:hidden;background:#fbf8f5}
.rp-search-input{flex:1;min-width:0;border:0;background:transparent;padding:16px 20px;outline:0}
.rp-search-form button{border:0;background:var(--rp-ink);color:#fff;padding:0 24px;font-weight:800;cursor:pointer}
body.rp-search-open{overflow:hidden}
.rp-nav.is-open{display:flex!important}
.rp-page-wrap{padding-top:55px;padding-bottom:55px}
.rp-page-card{max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--rp-border);border-radius:24px;padding:48px}
.rp-page-card h1{font-size:48px;line-height:1.05;margin:0 0 24px}
.rp-page-content{color:var(--rp-muted);font-size:16px;line-height:1.8}
.rp-page-content h2,.rp-page-content h3{color:var(--rp-ink);font-family:var(--rp-heading-font);margin-top:28px}
.rp-page-content a{color:var(--rp-primary-dark);text-decoration:underline}
@media(max-width:680px){
 .rp-search-overlay{padding:24px 12px}
 .rp-search-dialog{padding:34px 20px 22px;border-radius:20px}
 .rp-search-dialog h2{font-size:30px;padding-right:25px}
 .rp-search-form{display:block;border-radius:18px;background:#fbf8f5}
 .rp-search-input{display:block;width:100%;padding:14px 15px}
 .rp-search-form button{width:100%;min-height:44px;border-radius:0 0 16px 16px}
 .rp-page-wrap{padding-top:28px;padding-bottom:35px}
 .rp-page-card{padding:26px 20px;border-radius:18px}
 .rp-page-card h1{font-size:34px}
 .rp-page-content{font-size:14px;line-height:1.7}
}

/* Ruporia 2.9.9 — Fashion category image fixed */
/* Fashion image is supplied directly by homepage.php. */

/* Ruporia 2.8.5 — dynamic category cards */
.rp-category{
  min-height:280px;
  transition:transform .28s ease, box-shadow .28s ease;
  isolation:isolate;
}
.rp-category .media{
  transition:transform .55s ease, filter .35s ease;
}
.rp-category .overlay{
  transition:background .35s ease;
}
.rp-category .content{
  width:100%;
  box-sizing:border-box;
}
.rp-category h3{
  margin-bottom:5px;
  text-shadow:0 2px 10px rgba(0,0,0,.18);
}
.rp-category .content > span:not(.rp-category-count){
  display:block;
  line-height:1.45;
  max-width:230px;
  text-shadow:0 1px 6px rgba(0,0,0,.18);
}
.rp-category-count{
  display:inline-block!important;
  margin-top:10px;
  font-size:11px!important;
  font-weight:700;
  letter-spacing:.04em;
  opacity:.95;
}
.rp-category:hover{
  transform:translateY(-5px);
  box-shadow:0 16px 34px rgba(45,31,26,.14);
}
.rp-category:hover .media{
  transform:scale(1.055);
  filter:saturate(1.05);
}
.rp-category:hover .overlay{
  background:linear-gradient(transparent 25%,rgba(0,0,0,.68));
}
.rp-category:focus-visible{
  outline:2px solid var(--rp-primary);
  outline-offset:3px;
}
@media(max-width:680px){
  .rp-category-grid{
    display:flex;
    overflow-x:auto;
    overflow-y:hidden;
    gap:12px;
    padding:2px 2px 12px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .rp-category-grid::-webkit-scrollbar{display:none}
  .rp-category{
    flex:0 0 72%;
    min-height:245px;
    scroll-snap-align:start;
  }
  .rp-category .content{padding:18px}
  .rp-category h3{font-size:25px}
}

/* v2.8.6 Header Control Fix */
.rp-brand .custom-logo-link,.rp-brand .custom-logo-link img,.rp-brand .custom-logo{display:block!important;height:auto!important;width:auto!important;object-fit:contain!important}


/* Ruporia v2.8.9 — Logo Height slider definitive fix */
.rp-header .rp-brand{overflow:visible!important;flex:0 0 auto!important;}
.rp-header .rp-brand .custom-logo,
.rp-header .rp-brand .custom-logo-link img{width:auto!important;max-width:none!important;min-width:0!important;object-fit:contain!important;}
@media(max-width:680px){.rp-header .rp-brand .custom-logo,.rp-header .rp-brand .custom-logo-link img{max-width:none!important;}}

/* Ruporia v2.9.1 — Premium WooCommerce single-product layout: explicit grid areas */
.single-product .rp-shop-wrap{padding:56px 0 80px!important;}
.single-product .woocommerce div.product{
  display:grid!important;
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
  gap:42px 52px;
  align-items:start;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  overflow:visible!important;
}
.single-product .woocommerce div.product:before,
.single-product .woocommerce div.product:after{display:none!important;}
.single-product .woocommerce div.product div.images,
.single-product .woocommerce div.product div.summary{float:none!important;width:auto!important;margin:0!important;}
.single-product .woocommerce div.product div.images{position:relative;}
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper{margin:0!important;}
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image{
  border:1px solid var(--rp-border);
  border-radius:24px;
  overflow:hidden;
  background:#f7eee9;
}
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img{
  width:100%!important;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:0!important;
  transition:transform .35s ease;
}
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image:hover img{transform:scale(1.025);}
.single-product .woocommerce div.product div.images .flex-control-thumbs{
  display:grid!important;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin:12px 0 0!important;
  padding:0!important;
}
.single-product .woocommerce div.product div.images .flex-control-thumbs li{
  width:auto!important;
  float:none!important;
  margin:0!important;
  border:1px solid var(--rp-border);
  border-radius:12px;
  overflow:hidden;
  background:#f7eee9;
}
.single-product .woocommerce div.product div.images .flex-control-thumbs img{opacity:.7;border-radius:0!important;}
.single-product .woocommerce div.product div.images .flex-control-thumbs .flex-active{opacity:1;}
.single-product .woocommerce div.product .summary{
  padding:12px 4px 0 0;
  position:relative;
}
.single-product .woocommerce div.product .product_title{
  font-family:var(--rp-heading-font,"Playfair Display",Georgia,serif)!important;
  font-size:clamp(34px,3.4vw,52px)!important;
  line-height:1.04!important;
  letter-spacing:-.02em!important;
  margin:0 0 14px!important;
  color:var(--rp-ink)!important;
}
.single-product .woocommerce div.product .woocommerce-product-rating{margin:0 0 18px!important;font-size:13px!important;}
.single-product .woocommerce div.product .star-rating{color:#bd8d28!important;}
.single-product .woocommerce div.product p.price,
.single-product .woocommerce div.product span.price{
  color:var(--rp-primary-dark)!important;
  font-size:28px!important;
  font-weight:800!important;
  margin:0 0 20px!important;
}
.single-product .woocommerce div.product .woocommerce-product-details__short-description{
  color:var(--rp-muted)!important;
  font-size:15px!important;
  line-height:1.75!important;
  padding:18px 0;
  border-top:1px solid var(--rp-border);
  border-bottom:1px solid var(--rp-border);
  margin:0 0 22px!important;
}
.single-product .woocommerce div.product form.cart{margin:0 0 20px!important;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.single-product .woocommerce div.product form.cart .quantity{margin:0!important;}
.single-product .woocommerce div.product form.cart .quantity .qty{
  width:74px!important;
  min-height:48px!important;
  border:1px solid var(--rp-border)!important;
  border-radius:999px!important;
  text-align:center!important;
  background:#fff!important;
}
.single-product .woocommerce div.product form.cart .single_add_to_cart_button{
  min-height:50px!important;
  padding:0 30px!important;
  border-radius:999px!important;
  background:var(--rp-primary)!important;
  color:#fff!important;
  font-weight:800!important;
  letter-spacing:.02em;
  flex:1 1 220px;
}
.single-product .woocommerce div.product form.cart .single_add_to_cart_button:hover{background:var(--rp-primary-dark)!important;}
.single-product .woocommerce div.product .product_meta{
  color:var(--rp-muted)!important;
  font-size:12px!important;
  border-top:1px solid var(--rp-border);
  padding-top:16px;
  line-height:2;
}
.single-product .woocommerce div.product .product_meta a{color:var(--rp-primary-dark)!important;font-weight:700;}
.single-product .woocommerce div.product .woocommerce-tabs,
.single-product .woocommerce div.product .related,
.single-product .woocommerce div.product .upsells{
  grid-column:1/-1;
  width:100%!important;
  margin:0!important;
}
.single-product .woocommerce div.product .woocommerce-tabs{
  border-top:1px solid var(--rp-border);
  padding-top:30px;
  margin-top:4px!important;
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs{
  display:flex!important;
  gap:8px;
  margin:0 0 22px!important;
  padding:0!important;
  border:0!important;
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs:before,
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs:after{display:none!important;}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li{
  border:1px solid var(--rp-border)!important;
  background:#fff!important;
  border-radius:999px!important;
  padding:9px 18px!important;
  margin:0!important;
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--rp-primary)!important;border-color:var(--rp-primary)!important;color:#fff!important;}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li:before,
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li:after{display:none!important;}
.single-product .woocommerce div.product .woocommerce-tabs .panel{
  background:#fff;
  border:1px solid var(--rp-border);
  border-radius:18px;
  padding:24px!important;
  color:var(--rp-muted);
  line-height:1.8;
}
.single-product .woocommerce div.product .woocommerce-tabs .panel h2{font-family:var(--rp-heading-font,"Playfair Display",Georgia,serif);color:var(--rp-ink);font-size:24px;}
.single-product .woocommerce div.product .related>h2,
.single-product .woocommerce div.product .upsells>h2{
  font-family:var(--rp-heading-font,"Playfair Display",Georgia,serif)!important;
  font-size:36px!important;
  line-height:1.1!important;
  margin:0 0 22px!important;
}
.single-product .woocommerce div.product .related ul.products,
.single-product .woocommerce div.product .upsells ul.products{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
}
.single-product .woocommerce div.product .related ul.products li.product,
.single-product .woocommerce div.product .upsells ul.products li.product{
  background:#fff!important;
  border:1px solid var(--rp-border)!important;
  border-radius:18px!important;
  padding:0!important;
  overflow:hidden!important;
}
.single-product .woocommerce div.product .related ul.products li.product img,
.single-product .woocommerce div.product .upsells ul.products li.product img{
  width:100%!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  margin:0 0 12px!important;
  border-radius:0!important;
}
.single-product .woocommerce div.product .related ul.products li.product .woocommerce-loop-product__title,
.single-product .woocommerce div.product .upsells ul.products li.product .woocommerce-loop-product__title{padding:0 14px!important;font-size:14px!important;}
.single-product .woocommerce div.product .related ul.products li.product .price,
.single-product .woocommerce div.product .upsells ul.products li.product .price{padding:0 14px!important;font-size:13px!important;}
.single-product .woocommerce div.product .related ul.products li.product .button,
.single-product .woocommerce div.product .upsells ul.products li.product .button{margin:8px 14px 16px!important;font-size:11px!important;}

@media(max-width:900px){
  .single-product .woocommerce div.product{grid-template-columns:1fr 1fr;gap:28px;}
  .single-product .woocommerce div.product .product_title{font-size:36px!important;}
  .single-product .woocommerce div.product .related ul.products,
  .single-product .woocommerce div.product .upsells ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:680px){
  .single-product .rp-shop-wrap{padding:20px 0 105px!important;}
  .single-product .woocommerce div.product{display:block!important;}
  .single-product .woocommerce div.product div.images{margin-bottom:24px!important;}
  .single-product .woocommerce div.product div.images .woocommerce-product-gallery__image{border-radius:18px;}
  .single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img{aspect-ratio:1/1!important;}
  .single-product .woocommerce div.product .summary{padding:0!important;}
  .single-product .woocommerce div.product .product_title{font-size:34px!important;}
  .single-product .woocommerce div.product p.price,.single-product .woocommerce div.product span.price{font-size:24px!important;}
  .single-product .woocommerce div.product .woocommerce-product-details__short-description{font-size:14px!important;}
  .single-product .woocommerce div.product .woocommerce-tabs{margin-top:30px!important;padding-top:24px;}
  .single-product .woocommerce div.product .woocommerce-tabs ul.tabs{overflow-x:auto;white-space:nowrap;padding-bottom:4px!important;}
  .single-product .woocommerce div.product .woocommerce-tabs .panel{padding:18px!important;}
  .single-product .woocommerce div.product .related>h2,.single-product .woocommerce div.product .upsells>h2{font-size:30px!important;}
  .single-product .woocommerce div.product .related ul.products,.single-product .woocommerce div.product .upsells ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
}

/* v2.9.1 layout hardening: force WooCommerce single-product children into explicit areas. */
@media(min-width:681px){
  body.single-product .woocommerce div.product{
    display:grid!important;
    grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr)!important;
    grid-template-areas:"gallery summary" "tabs tabs" "related related" "upsells upsells"!important;
    align-items:start!important;
    column-gap:52px!important;
    row-gap:42px!important;
  }
  body.single-product .woocommerce div.product > div.images{grid-area:gallery!important;}
  body.single-product .woocommerce div.product > div.summary{grid-area:summary!important;}
  body.single-product .woocommerce div.product > .woocommerce-tabs{grid-area:tabs!important;}
  body.single-product .woocommerce div.product > .related{grid-area:related!important;}
  body.single-product .woocommerce div.product > .upsells{grid-area:upsells!important;}
  body.single-product .woocommerce div.product > div.images,
  body.single-product .woocommerce div.product > div.summary,
  body.single-product .woocommerce div.product > .woocommerce-tabs,
  body.single-product .woocommerce div.product > .related,
  body.single-product .woocommerce div.product > .upsells{
    min-width:0!important;
    max-width:100%!important;
    float:none!important;
    clear:none!important;
  }
  body.single-product .woocommerce div.product > div.images{width:100%!important;}
  body.single-product .woocommerce div.product > div.summary{width:100%!important; padding:8px 0 0!important;}
  body.single-product .woocommerce div.product > .woocommerce-tabs,
  body.single-product .woocommerce div.product > .related,
  body.single-product .woocommerce div.product > .upsells{width:100%!important;}
}
@media(min-width:1100px){
  body.single-product .woocommerce div.product{grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr)!important;column-gap:64px!important;}
}

/* v2.9.2: Quantity → Add to Cart → Buy Now spacing and premium action row. */
@media (min-width:681px){
  body.single-product .woocommerce div.product form.cart{
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:16px!important;
    margin:0 0 22px!important;
  }
  body.single-product .woocommerce div.product form.cart .quantity{
    flex:0 0 auto!important;
    margin:0!important;
  }
  body.single-product .woocommerce div.product form.cart .quantity .qty{
    width:74px!important;
    min-width:74px!important;
  }
  body.single-product .woocommerce div.product form.cart .single_add_to_cart_button,
  body.single-product .woocommerce div.product form.cart .ruporia-buy-now{
    flex:0 0 auto!important;
    min-height:50px!important;
    margin:0!important;
    padding:0 28px!important;
    border-radius:999px!important;
    font-weight:800!important;
    white-space:nowrap!important;
  }
  body.single-product .woocommerce div.product form.cart .single_add_to_cart_button{
    background:var(--rp-primary)!important;
    color:#fff!important;
  }
  body.single-product .woocommerce div.product form.cart .ruporia-buy-now{
    background:#24201f!important;
    color:#fff!important;
    border:1px solid #24201f!important;
  }
  body.single-product .woocommerce div.product form.cart .ruporia-buy-now:hover{
    background:var(--rp-primary-dark)!important;
    border-color:var(--rp-primary-dark)!important;
  }
}
@media (max-width:680px){
  body.single-product .woocommerce div.product form.cart{
    display:grid!important;
    grid-template-columns:74px 1fr 1fr!important;
    align-items:center!important;
    gap:10px!important;
  }
  body.single-product .woocommerce div.product form.cart .quantity,
  body.single-product .woocommerce div.product form.cart .single_add_to_cart_button,
  body.single-product .woocommerce div.product form.cart .ruporia-buy-now{
    margin:0!important;
  }
  body.single-product .woocommerce div.product form.cart .single_add_to_cart_button,
  body.single-product .woocommerce div.product form.cart .ruporia-buy-now{
    min-height:48px!important;
    padding:0 12px!important;
    border-radius:999px!important;
    white-space:nowrap!important;
    font-size:12px!important;
  }
  body.single-product .woocommerce div.product form.cart .single_add_to_cart_button{
    background:var(--rp-primary)!important;
    color:#fff!important;
  }
  body.single-product .woocommerce div.product form.cart .ruporia-buy-now{
    background:#24201f!important;
    color:#fff!important;
    border:1px solid #24201f!important;
  }
}


/* v2.9.4 Buy Now reliability */
body.single-product .woocommerce div.product form.cart .ruporia-buy-now{cursor:pointer!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;}

/* Ruporia v3.0.4 — polished classic checkout */
.woocommerce-checkout .woocommerce{max-width:1180px;margin:42px auto;padding:0 22px}
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:32px;align-items:start}
.woocommerce-checkout #customer_details,.woocommerce-checkout .woocommerce-checkout-review-order{background:#fff;border:1px solid #e6d8d1;border-radius:16px;padding:28px;box-sizing:border-box}
.woocommerce-checkout #customer_details{box-shadow:0 10px 30px rgba(40,28,24,.04)}
.woocommerce-checkout .woocommerce-checkout-review-order{position:sticky;top:24px}
.woocommerce-checkout h3{font-family:Georgia,'Times New Roman',serif;font-size:24px;line-height:1.2;margin:0 0 20px;color:#201b19}
.woocommerce-checkout .form-row{margin:0 0 15px!important;padding:0!important}
.woocommerce-checkout .form-row-first,.woocommerce-checkout .form-row-last{width:calc(50% - 8px)!important}
.woocommerce-checkout .form-row-first{margin-right:16px!important}
.woocommerce-checkout label{font-size:14px;color:#403833;margin-bottom:7px;display:block}
.woocommerce-checkout .required{color:#a86f5d;text-decoration:none}
.woocommerce-checkout input.input-text,.woocommerce-checkout select,.woocommerce-checkout textarea{width:100%;min-height:46px;border:1px solid #d9c6bd;border-radius:8px;background:#fff;padding:11px 13px;box-sizing:border-box;font-size:14px;color:#302824;outline:none}
.woocommerce-checkout textarea{min-height:100px;resize:vertical}
.woocommerce-checkout input.input-text:focus,.woocommerce-checkout select:focus,.woocommerce-checkout textarea:focus{border-color:#b88978;box-shadow:0 0 0 2px rgba(184,137,120,.12)}
.woocommerce-checkout .woocommerce-input-wrapper{width:100%}
.woocommerce-checkout #ship-to-different-address{margin:18px 0 16px;padding-top:18px;border-top:1px solid #eaded8}
.woocommerce-checkout #ship-to-different-address label{display:flex;align-items:center;gap:8px;font-weight:600;cursor:pointer}
.woocommerce-checkout #ship-to-different-address-checkbox{width:auto;min-height:auto}
.woocommerce-checkout .woocommerce-additional-fields{margin-top:8px}
.woocommerce-checkout .woocommerce-checkout-review-order-table{border-collapse:collapse;width:100%;margin:0 0 18px}
.woocommerce-checkout .woocommerce-checkout-review-order-table th,.woocommerce-checkout .woocommerce-checkout-review-order-table td{padding:11px 0;border-bottom:1px solid #eee3de;font-size:14px;vertical-align:top}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td{font-weight:600}
.woocommerce-checkout #payment{background:transparent!important;border-radius:0!important;padding:0!important}
.woocommerce-checkout #payment ul.payment_methods{padding:0!important;border:0!important}
.woocommerce-checkout #payment .payment_box{border:1px solid #e4d7d1;border-radius:10px;background:#faf7f5;margin:10px 0;padding:14px}
.woocommerce-checkout #payment #place_order{width:100%;min-height:48px;border:0;border-radius:8px;background:#2f3438;color:#fff;font-weight:600;text-transform:none;letter-spacing:.2px}
.woocommerce-checkout #payment #place_order:hover{background:#201f1e}
.woocommerce-checkout .woocommerce-privacy-policy-text{font-size:12px;line-height:1.6;color:#746862}
.woocommerce-checkout .woocommerce-form-coupon-toggle,.woocommerce-checkout .woocommerce-info{border-radius:10px;border-color:#e2d1c9;background:#fbf7f5;color:#4a403b}
.woocommerce-checkout .ruporia-upazila-select{background:#fff}
@media(max-width:850px){
 .woocommerce-checkout form.checkout{grid-template-columns:1fr}
 .woocommerce-checkout .woocommerce-checkout-review-order{position:static}
}
@media(max-width:560px){
 .woocommerce-checkout .woocommerce{padding:0 12px;margin:22px auto}
 .woocommerce-checkout #customer_details,.woocommerce-checkout .woocommerce-checkout-review-order{padding:18px;border-radius:12px}
 .woocommerce-checkout .form-row-first,.woocommerce-checkout .form-row-last{width:100%!important;margin-right:0!important}
}

/* Ruporia v3.0.5 — force the classic checkout layout to use the full desktop width. */
body.woocommerce-checkout .rp-shop-wrap,
body.woocommerce-checkout .woocommerce {
  width: 100% !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
body.woocommerce-checkout .woocommerce {
  padding: 44px 24px !important;
}
body.woocommerce-checkout form.checkout.woocommerce-checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, .65fr) !important;
  gap: 34px !important;
  width: 100% !important;
  max-width: none !important;
  align-items: start !important;
}
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout .woocommerce-checkout-review-order {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
body.woocommerce-checkout #customer_details {
  padding: 30px !important;
  background: #fff !important;
  border: 1px solid #e6d8d1 !important;
  border-radius: 16px !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order {
  position: sticky !important;
  top: 24px !important;
  padding: 26px !important;
  background: #fff !important;
  border: 1px solid #e6d8d1 !important;
  border-radius: 16px !important;
}
body.woocommerce-checkout .col2-set,
body.woocommerce-checkout .col2-set .col-1,
body.woocommerce-checkout .col2-set .col-2 {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 18px !important;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row {
  width: 100% !important;
  float: none !important;
  margin-right: 0 !important;
}
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-wide,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-wide,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_country_field,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_address_1_field,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_address_2_field,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_city_field,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_state_field,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_email_field,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > #shipping_country_field,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > #shipping_address_1_field,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > #shipping_address_2_field,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > #shipping_city_field,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > #shipping_state_field,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > #shipping_email_field {
  grid-column: 1 / -1 !important;
}
body.woocommerce-checkout input.input-text,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea {
  min-height: 48px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border: 1px solid #d8c5bb !important;
  border-radius: 8px !important;
  padding: 11px 13px !important;
  font-size: 14px !important;
}
body.woocommerce-checkout .form-row label {
  display: block !important;
  margin-bottom: 7px !important;
}
body.woocommerce-checkout #payment #place_order {
  width: 100% !important;
  min-height: 50px !important;
}
@media (max-width: 900px) {
  body.woocommerce-checkout form.checkout.woocommerce-checkout {
    grid-template-columns: 1fr !important;
  }
  body.woocommerce-checkout .woocommerce-checkout-review-order {
    position: static !important;
  }
}
@media (max-width: 620px) {
  body.woocommerce-checkout .woocommerce {
    padding: 24px 12px !important;
  }
  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout .woocommerce-checkout-review-order {
    padding: 18px !important;
    border-radius: 12px !important;
  }
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr !important;
  }
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row {
    grid-column: 1 / -1 !important;
  }
}

/* Ruporia v3.0.7 — final classic checkout two-column layout fix.
 * WooCommerce renders #customer_details, #order_review_heading and #order_review
 * as separate direct children of the checkout form. The previous grid treated the
 * heading as a third column item, which collapsed the visible checkout layout.
 */
@media (min-width: 901px) {
  body.woocommerce-checkout .rp-shop-wrap {
    width: calc(100% - 48px) !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 48px 0 70px !important;
  }

  body.woocommerce-checkout .rp-shop-wrap > .woocommerce {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr) !important;
    column-gap: 34px !important;
    row-gap: 12px !important;
    width: 100% !important;
    max-width: none !important;
    align-items: start !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout > #customer_details {
    grid-column: 1 !important;
    grid-row: 1 / span 3 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review_heading {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 26px 28px 0 !important;
    background: #fff !important;
    border: 1px solid #e6d8d1 !important;
    border-bottom: 0 !important;
    border-radius: 16px 16px 0 0 !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review {
    grid-column: 2 !important;
    grid-row: 2 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 28px 28px !important;
    background: #fff !important;
    border: 1px solid #e6d8d1 !important;
    border-top: 0 !important;
    border-radius: 0 0 16px 16px !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review_heading + #order_review {
    position: static !important;
  }

  body.woocommerce-checkout #customer_details {
    padding: 32px !important;
    background: #fff !important;
    border: 1px solid #e6d8d1 !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 30px rgba(40,28,24,.04) !important;
  }

  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 18px !important;
  }

  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row {
    float: none !important;
    width: 100% !important;
    margin-right: 0 !important;
  }

  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-wide,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-wide,
  body.woocommerce-checkout #billing_country_field,
  body.woocommerce-checkout #billing_address_1_field,
  body.woocommerce-checkout #billing_address_2_field,
  body.woocommerce-checkout #billing_city_field,
  body.woocommerce-checkout #billing_state_field,
  body.woocommerce-checkout #billing_email_field,
  body.woocommerce-checkout #shipping_country_field,
  body.woocommerce-checkout #shipping_address_1_field,
  body.woocommerce-checkout #shipping_address_2_field,
  body.woocommerce-checkout #shipping_city_field,
  body.woocommerce-checkout #shipping_state_field,
  body.woocommerce-checkout #shipping_email_field {
    grid-column: 1 / -1 !important;
  }

  body.woocommerce-checkout #billing_first_name_field,
  body.woocommerce-checkout #billing_last_name_field,
  body.woocommerce-checkout #billing_postcode_field,
  body.woocommerce-checkout #billing_phone_field,
  body.woocommerce-checkout #shipping_first_name_field,
  body.woocommerce-checkout #shipping_last_name_field,
  body.woocommerce-checkout #shipping_postcode_field,
  body.woocommerce-checkout #shipping_phone_field {
    grid-column: span 1 !important;
  }

  body.woocommerce-checkout #payment,
  body.woocommerce-checkout #payment ul.payment_methods {
    width: 100% !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table {
    margin-top: 0 !important;
  }
}

@media (max-width: 900px) {
  body.woocommerce-checkout .rp-shop-wrap {
    width: calc(100% - 24px) !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 24px 0 50px !important;
  }

  body.woocommerce-checkout .rp-shop-wrap > .woocommerce {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout {
    display: block !important;
    width: 100% !important;
  }

  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout #order_review {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout #customer_details {
    margin-bottom: 22px !important;
    padding: 22px !important;
  }

  body.woocommerce-checkout #order_review_heading {
    padding: 22px 22px 0 !important;
    margin: 0 !important;
    border: 1px solid #e6d8d1 !important;
    border-bottom: 0 !important;
    border-radius: 14px 14px 0 0 !important;
  }

  body.woocommerce-checkout #order_review {
    padding: 0 22px 22px !important;
    margin: 0 !important;
    border: 1px solid #e6d8d1 !important;
    border-top: 0 !important;
    border-radius: 0 0 14px 14px !important;
  }
}

/* Ruporia v3.0.8 — Checkout target layout.
 * Keep the classic WooCommerce checkout in a compact two-column layout on
 * normal desktop/tablet viewports, including narrower browser viewports.
 */
@media (min-width: 701px) {
  body.woocommerce-checkout .rp-shop-wrap {
    width: min(1100px, calc(100% - 32px)) !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 32px 0 56px !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout .rp-shop-wrap > .woocommerce {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr) !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    align-items: start !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout > #customer_details {
    grid-column: 1 !important;
    grid-row: 1 / span 3 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 24px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    border: 1px solid #e6d8d1 !important;
    border-radius: 12px !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review_heading {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 20px 20px 10px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    border: 1px solid #e6d8d1 !important;
    border-bottom: 0 !important;
    border-radius: 12px 12px 0 0 !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review {
    grid-column: 2 !important;
    grid-row: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 20px 20px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    border: 1px solid #e6d8d1 !important;
    border-top: 0 !important;
    border-radius: 0 0 12px 12px !important;
  }

  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 12px !important;
  }

  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row {
    width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout #billing_first_name_field,
  body.woocommerce-checkout #billing_last_name_field,
  body.woocommerce-checkout #billing_postcode_field,
  body.woocommerce-checkout #billing_phone_field,
  body.woocommerce-checkout #shipping_first_name_field,
  body.woocommerce-checkout #shipping_last_name_field,
  body.woocommerce-checkout #shipping_postcode_field,
  body.woocommerce-checkout #shipping_phone_field {
    grid-column: span 1 !important;
  }

  body.woocommerce-checkout #billing_country_field,
  body.woocommerce-checkout #billing_address_1_field,
  body.woocommerce-checkout #billing_address_2_field,
  body.woocommerce-checkout #billing_city_field,
  body.woocommerce-checkout #billing_state_field,
  body.woocommerce-checkout #billing_email_field,
  body.woocommerce-checkout #shipping_country_field,
  body.woocommerce-checkout #shipping_address_1_field,
  body.woocommerce-checkout #shipping_address_2_field,
  body.woocommerce-checkout #shipping_city_field,
  body.woocommerce-checkout #shipping_state_field,
  body.woocommerce-checkout #shipping_email_field {
    grid-column: 1 / -1 !important;
  }

  body.woocommerce-checkout input.input-text,
  body.woocommerce-checkout select,
  body.woocommerce-checkout textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout #payment,
  body.woocommerce-checkout #payment ul.payment_methods,
  body.woocommerce-checkout #payment .place-order {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout #payment #place_order {
    width: 100% !important;
    min-height: 44px !important;
  }
}

@media (max-width: 700px) {
  body.woocommerce-checkout .rp-shop-wrap {
    width: calc(100% - 24px) !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 20px 0 40px !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout {
    display: block !important;
    width: 100% !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout > #customer_details,
  body.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review_heading,
  body.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* Ruporia v3.0.9 — Force the requested two-column checkout layout on
 * medium/narrow desktop browser viewports too. The previous 700/900px
 * mobile rules were winning at narrower viewport sizes and collapsing the
 * checkout into one column. */
@media (min-width: 500px) and (max-width: 900px) {
  body.woocommerce-checkout .rp-shop-wrap {
    width: calc(100% - 24px) !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 20px 0 40px !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout .rp-shop-wrap > .woocommerce {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(180px, .85fr) !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    align-items: start !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout > #customer_details {
    grid-column: 1 !important;
    grid-row: 1 / span 3 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    border: 1px solid #e6d8d1 !important;
    border-radius: 12px !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review_heading {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 18px 16px 8px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    border: 1px solid #e6d8d1 !important;
    border-bottom: 0 !important;
    border-radius: 12px 12px 0 0 !important;
  }

  body.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review {
    grid-column: 2 !important;
    grid-row: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 16px 16px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    border: 1px solid #e6d8d1 !important;
    border-top: 0 !important;
    border-radius: 0 0 12px 12px !important;
  }

  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 10px !important;
  }

  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row {
    width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout #billing_first_name_field,
  body.woocommerce-checkout #billing_last_name_field,
  body.woocommerce-checkout #billing_postcode_field,
  body.woocommerce-checkout #billing_phone_field,
  body.woocommerce-checkout #shipping_first_name_field,
  body.woocommerce-checkout #shipping_last_name_field,
  body.woocommerce-checkout #shipping_postcode_field,
  body.woocommerce-checkout #shipping_phone_field {
    grid-column: span 1 !important;
  }

  body.woocommerce-checkout #billing_country_field,
  body.woocommerce-checkout #billing_address_1_field,
  body.woocommerce-checkout #billing_address_2_field,
  body.woocommerce-checkout #billing_city_field,
  body.woocommerce-checkout #billing_state_field,
  body.woocommerce-checkout #billing_email_field,
  body.woocommerce-checkout #shipping_country_field,
  body.woocommerce-checkout #shipping_address_1_field,
  body.woocommerce-checkout #shipping_address_2_field,
  body.woocommerce-checkout #shipping_city_field,
  body.woocommerce-checkout #shipping_state_field,
  body.woocommerce-checkout #shipping_email_field {
    grid-column: 1 / -1 !important;
  }

  body.woocommerce-checkout input.input-text,
  body.woocommerce-checkout select,
  body.woocommerce-checkout textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout #payment,
  body.woocommerce-checkout #payment ul.payment_methods,
  body.woocommerce-checkout #payment .place-order,
  body.woocommerce-checkout #payment #place_order {
    width: 100% !important;
    box-sizing: border-box !important;
  }
}
