/*
Theme Name: RollUpDoors
Theme URI: https://shoprollupdoors.com/
Author: River Web Services
Description: A WooCommerce-focused theme for ShopRollupDoors.com with a sticky ecommerce header, predictive product search, mini cart, editable menus, Customizer settings, and four footer widget areas.
Version: 1.0.56
Requires at least: 6.7
Requires PHP: 7.4
Text Domain: rollupdoors
*/

:root{
  --rud-orange:#FE660D;
  --rud-orange-dark:#D94F00;
  --rud-blue:#055AAF;
  --rud-blue-dark:#06457F;
  --rud-charcoal:#283A4F;
  --rud-steel:#9EA4AB;
  --rud-steel-light:#E4E6E9;
  --rud-bg:#F6F8FA;
  --rud-white:#FFFFFF;
  --rud-text:#26323F;
  --rud-muted:#687787;
  --rud-border:#DCE2E7;
  --rud-shadow:0 12px 30px rgba(26,42,58,.12);
  --rud-radius:14px;
  --rud-container:1280px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--rud-white);color:var(--rud-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.6;font-size:16px}
img{max-width:100%;height:auto}
a{color:var(--rud-blue);text-decoration:none}
a:hover,a:focus{color:var(--rud-orange)}
button,input,select,textarea{font:inherit}
.container{width:min(calc(100% - 40px),var(--rud-container));margin-inline:auto}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{background:#fff;clip:auto!important;clip-path:none;color:var(--rud-charcoal);display:block;font-size:14px;font-weight:700;height:auto;left:8px;line-height:normal;padding:12px 16px;text-decoration:none;top:8px;width:auto;z-index:100000;box-shadow:var(--rud-shadow)}

/* Header */
.mobile-header-spacer{display:none}
.site-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.97);border-bottom:1px solid var(--rud-border);box-shadow:0 3px 14px rgba(26,42,58,.06);backdrop-filter:blur(10px)}
.admin-bar .site-header{top:32px}
.header-topbar{background:var(--rud-charcoal);color:#fff;font-size:.88rem;padding:6px 0;min-height:32px;display:flex;align-items:center}
.header-topbar-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px}
.header-topbar-left{text-align:left;min-width:0}
.header-topbar-center{text-align:center;font-weight:700;white-space:nowrap}
.header-topbar-right{text-align:right;min-width:0}
.header-topbar a,.header-topbar span{color:inherit}
.header-topbar a{text-decoration:none;font-weight:700;transition:opacity .2s ease}
.header-topbar a:hover,.header-topbar a:focus{color:#fff;opacity:.82;text-decoration:underline}
.header-topbar-left span,.header-topbar-left a,.header-topbar-right span,.header-topbar-right a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.header-main{display:grid;grid-template-columns:minmax(260px,390px) minmax(320px,1fr) auto;align-items:center;gap:30px;min-height:104px;padding:10px 0}
.site-branding{min-width:0}
.site-branding .custom-logo-link{display:inline-flex;align-items:center}
.site-branding .custom-logo{display:block;width:auto;max-width:100%;max-height:82px}
.default-logo-link{display:inline-flex;align-items:center;max-width:380px}
.default-logo-link img{display:block;width:100%;height:auto;max-height:86px;object-fit:contain;object-position:left center}
.site-title-text{font-size:1.4rem;font-weight:800;color:var(--rud-charcoal)}

.header-search{position:relative;width:100%;max-width:680px;justify-self:center}
.product-search-form{position:relative;display:flex;width:100%;margin:0}
.product-search-field{width:100%;height:48px;border:2px solid var(--rud-border);border-radius:999px;background:#fff;padding:0 58px 0 18px;color:var(--rud-text);outline:none;transition:.2s ease;box-shadow:none}
.product-search-field::placeholder{color:#82909D}
.product-search-field:focus{border-color:var(--rud-blue);box-shadow:0 0 0 4px rgba(5,90,175,.10)}
.product-search-submit{position:absolute;right:5px;top:5px;width:38px;height:38px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--rud-blue);color:#fff;cursor:pointer;transition:.2s ease;padding:0}
.product-search-submit:hover,.product-search-submit:focus{background:var(--rud-orange);color:#fff}
.product-search-submit svg{width:18px;height:18px;fill:currentColor}

.product-search-results{display:none;position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:1001;background:#fff;border:1px solid var(--rud-border);border-radius:16px;box-shadow:var(--rud-shadow);overflow:hidden;max-height:520px;overflow-y:auto}
.product-search-results.is-visible{display:block}
.search-result-list{list-style:none;margin:0;padding:7px}
.search-result-item+ .search-result-item{border-top:1px solid #EEF1F4}
.search-result-link{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:center;padding:10px;border-radius:10px;color:var(--rud-text)}
.search-result-link:hover,.search-result-link:focus{background:var(--rud-bg);color:var(--rud-blue)}
.search-result-thumb{width:56px;height:56px;border-radius:9px;object-fit:cover;background:var(--rud-bg);border:1px solid var(--rud-border)}
.search-result-title{display:block;font-weight:700;line-height:1.25;color:var(--rud-charcoal)}
.search-result-price{display:block;margin-top:3px;font-size:.9rem;color:var(--rud-muted)}
.search-result-price ins{text-decoration:none}
.search-status,.search-all-link{display:block;padding:13px 16px;font-size:.92rem}
.search-status{color:var(--rud-muted)}
.search-all-link{border-top:1px solid var(--rud-border);font-weight:700;text-align:center;background:var(--rud-bg)}

.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.header-cart{position:relative}
.header-cart-toggle{display:flex;align-items:center;gap:12px;border:1px solid var(--rud-border);background:#fff;border-radius:14px;padding:11px 16px;min-width:154px;min-height:60px;color:var(--rud-charcoal);cursor:pointer;transition:.2s ease}
.header-cart-toggle:hover,.header-cart-toggle:focus,.header-cart.is-open .header-cart-toggle{border-color:var(--rud-blue);color:var(--rud-blue);box-shadow:0 0 0 3px rgba(5,90,175,.08)}
.header-cart-icon{position:relative;width:32px;height:32px;display:grid;place-items:center;flex:0 0 32px}
.header-cart-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8}
.cart-count{position:absolute;right:-8px;top:-8px;min-width:20px;height:20px;border-radius:999px;background:var(--rud-orange);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;padding:0 5px;box-shadow:0 0 0 2px #fff}
.header-cart-meta{display:flex;flex-direction:column;text-align:left;line-height:1.15}
.header-cart-label{font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--rud-muted);font-weight:800}
.header-cart-total{font-size:1.06rem;font-weight:800;color:var(--rud-charcoal);margin-top:4px}
.mini-cart-panel{position:absolute;right:0;top:calc(100% + 9px);width:380px;background:#fff;border:1px solid var(--rud-border);border-radius:16px;box-shadow:var(--rud-shadow);padding:18px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.18s ease;z-index:1002}
.header-cart:hover .mini-cart-panel,.header-cart:focus-within .mini-cart-panel,.header-cart.is-open .mini-cart-panel{opacity:1;visibility:visible;transform:translateY(0)}
.mini-cart-panel .woocommerce-mini-cart{list-style:none;margin:0;padding:0;max-height:340px;overflow:auto}
.mini-cart-panel .woocommerce-mini-cart-item{position:relative;padding:12px 24px 12px 0!important;min-height:80px;border-bottom:1px solid #EEF1F4}
.mini-cart-panel .woocommerce-mini-cart-item img{width:60px!important;height:60px!important;object-fit:cover;border-radius:9px;margin-right:12px!important;float:left!important}
.mini-cart-panel .remove_from_cart_button{
  position:absolute!important;
  right:0;
  top:8px;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  border-radius:8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  color:#687787!important;
  background:#F4F6F8!important;
  border:1px solid #E1E6EA!important;
  text-decoration:none!important;
  text-indent:0!important;
  font-size:0!important;
  line-height:1!important;
  overflow:visible!important;
  opacity:1!important;
  visibility:visible!important;
  transition:.18s ease;
}
.mini-cart-panel .remove_from_cart_button::before,
.mini-cart-panel .remove_from_cart_button::after{content:none!important;display:none!important}
.mini-cart-panel a.remove.remove_from_cart_button{font-family:inherit!important}
.mini-cart-panel a.remove.remove_from_cart_button > .rud-mini-cart-trash{font-size:initial!important}
.mini-cart-panel .rud-mini-cart-trash{width:17px;height:17px;display:block!important;flex:0 0 17px;color:currentColor}
.mini-cart-panel .rud-mini-cart-trash svg{width:17px!important;height:17px!important;display:block!important;fill:currentColor!important;stroke:none!important;overflow:visible!important}
.mini-cart-panel .remove_from_cart_button:hover,
.mini-cart-panel .remove_from_cart_button:focus{color:var(--rud-orange)!important;background:#FFF1EA!important;border-color:#FFD1B5!important}
.mini-cart-panel .woocommerce-mini-cart__total{margin:14px 0 12px;padding-top:12px;border-top:1px solid var(--rud-border);display:flex;justify-content:space-between;gap:12px}
.mini-cart-panel .woocommerce-mini-cart__buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}
.mini-cart-panel .button{margin:0!important;text-align:center!important;padding:10px 12px!important;border-radius:10px!important;font-size:.9rem!important}

.header-nav-wrap{border-top:1px solid #EEF1F4;background:#fff}
.header-nav-inner{display:flex;align-items:center;justify-content:space-between;min-height:48px}
.primary-navigation{width:100%}
.primary-navigation ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.primary-navigation li{position:relative;margin:0}
.primary-navigation a{display:block;padding:12px 14px;color:var(--rud-charcoal);font-weight:700;font-size:.94rem;border-radius:8px}
.primary-navigation a:hover,.primary-navigation a:focus,.primary-navigation .current-menu-item>a,.primary-navigation .current_page_item>a{color:var(--rud-orange);background:rgba(254,102,13,.06)}
.primary-navigation .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:220px;background:#fff;border:1px solid var(--rud-border);border-radius:0 0 12px 12px;box-shadow:var(--rud-shadow);padding:7px;z-index:1000}
.primary-navigation li:hover>.sub-menu,.primary-navigation li:focus-within>.sub-menu{display:block}
.primary-navigation .sub-menu a{padding:9px 11px}
.menu-toggle{display:none;border:1px solid var(--rud-border);background:#fff;border-radius:10px;width:44px;height:44px;padding:0;color:var(--rud-charcoal);cursor:pointer}
.menu-toggle svg{width:22px;height:22px;stroke:currentColor;stroke-width:2;fill:none}

/* Main content */
.site-main{min-height:52vh}
.content-wrap{padding:44px 0}
.entry-header{margin-bottom:24px}
.entry-title,.page-title{margin:0 0 14px;color:var(--rud-charcoal);font-size:clamp(2rem,4vw,3rem);line-height:1.15}
.entry-content>*:first-child{margin-top:0}
.entry-content>*:last-child{margin-bottom:0}
.entry-content h2,.entry-content h3{color:var(--rud-charcoal)}
.entry-content img{border-radius:var(--rud-radius)}

/* Home */
.home-hero{background:linear-gradient(115deg,#F8FAFC 0%,#EEF4F9 58%,#E8F0F7 100%);border-bottom:1px solid var(--rud-border);overflow:hidden}
.home-hero-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:center;gap:50px;min-height:440px;padding:58px 0}
.home-hero-copy{max-width:720px}
.home-hero-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--rud-blue);font-weight:800;text-transform:uppercase;letter-spacing:.09em;font-size:.78rem;margin-bottom:12px}
.home-hero-eyebrow:before{content:"";width:30px;height:3px;border-radius:99px;background:var(--rud-orange)}
.home-hero h1{font-size:clamp(2.5rem,5vw,4.4rem);line-height:1.02;margin:0 0 18px;color:var(--rud-charcoal);letter-spacing:-.035em}
.home-hero p{font-size:1.12rem;color:var(--rud-muted);max-width:680px;margin:0 0 28px}
.home-hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.rud-button,.wp-element-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{display:inline-flex!important;align-items:center;justify-content:center;min-height:46px;padding:11px 20px!important;border-radius:10px!important;border:0!important;background:var(--rud-blue)!important;color:#fff!important;font-weight:800!important;line-height:1.2!important;box-shadow:none!important;transition:.2s ease!important}
.rud-button:hover,.rud-button:focus,.wp-element-button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover{background:var(--rud-orange)!important;color:#fff!important;transform:translateY(-1px)}
.rud-button--orange{background:var(--rud-orange)!important}
.rud-button--orange:hover,.rud-button--orange:focus{background:var(--rud-orange-dark)!important}
.home-hero-art{text-align:center}
.home-hero-art img{width:min(100%,460px);filter:drop-shadow(0 18px 22px rgba(22,48,72,.16))}
.home-page-content{padding:48px 0 8px}
.home-section{padding:52px 0}
.home-section.alt{background:var(--rud-bg);border-top:1px solid var(--rud-border);border-bottom:1px solid var(--rud-border)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}
.section-heading h2{margin:0;color:var(--rud-charcoal);font-size:clamp(1.8rem,3vw,2.5rem)}
.section-heading a{font-weight:800}
.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.category-card{display:block;background:#fff;border:1px solid var(--rud-border);border-radius:16px;overflow:hidden;box-shadow:0 6px 20px rgba(35,58,80,.06);transition:.2s ease;color:var(--rud-charcoal)}
.category-card:hover,.category-card:focus{transform:translateY(-3px);box-shadow:var(--rud-shadow);color:var(--rud-blue)}
.category-card-media{aspect-ratio:4/3;background:#EEF2F5;overflow:hidden}
.category-card-media img{width:100%;height:100%;object-fit:cover}
.category-card-title{display:block;padding:15px 16px;font-weight:800}

/* Blog / archive */
.posts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.post-card{border:1px solid var(--rud-border);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 5px 18px rgba(35,58,80,.05)}
.post-card-thumb{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--rud-bg)}
.post-card-thumb img{width:100%;height:100%;object-fit:cover}
.post-card-body{padding:20px}
.post-card-title{font-size:1.25rem;line-height:1.25;margin:0 0 8px}
.post-meta{color:var(--rud-muted);font-size:.88rem;margin-bottom:10px}
.navigation.pagination{margin-top:30px}
.nav-links{display:flex;gap:8px;flex-wrap:wrap}
.page-numbers{display:inline-grid;place-items:center;min-width:40px;height:40px;border:1px solid var(--rud-border);border-radius:8px;padding:0 8px}
.page-numbers.current{background:var(--rud-blue);color:#fff;border-color:var(--rud-blue)}

/* WooCommerce */
.woocommerce-content-wrap{width:100%;overflow:hidden}
.woocommerce-container{width:min(calc(100% - 40px),var(--rud-container));max-width:var(--rud-container);margin-inline:auto}
.woocommerce-container .woocommerce{width:100%;max-width:100%}
.woocommerce-container .woocommerce-notices-wrapper,.woocommerce-container .woocommerce-result-count,.woocommerce-container .woocommerce-ordering{max-width:100%}
.woocommerce-container .woocommerce-ordering select{max-width:100%}
.woocommerce .woocommerce-breadcrumb{color:var(--rud-muted);font-size:.9rem;margin:0 0 22px}
.woocommerce .woocommerce-breadcrumb a{color:var(--rud-blue)}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:0!important}
.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;float:none!important;margin:0!important;border:1px solid var(--rud-border);border-radius:16px;background:#fff;padding:0 0 18px!important;overflow:hidden;box-shadow:0 5px 18px rgba(35,58,80,.05);transition:.2s ease}
.woocommerce ul.products li.product:hover{transform:translateY(-3px);box-shadow:var(--rud-shadow)}
.woocommerce ul.products li.product a img{margin:0 0 14px!important;width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;padding:12px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0 16px!important;font-size:1rem!important;color:var(--rud-charcoal);line-height:1.35;min-height:2.7em}
.woocommerce ul.products li.product .price{padding:0 16px;color:var(--rud-blue)!important;font-weight:800!important;font-size:1rem!important}
.woocommerce ul.products li.product .button{margin:8px 16px 0!important;width:calc(100% - 32px)}
.woocommerce span.onsale{background:var(--rud-orange)!important;color:#fff!important;min-width:auto!important;min-height:auto!important;line-height:1!important;padding:8px 10px!important;border-radius:8px!important;top:10px!important;left:10px!important;margin:0!important}
.woocommerce div.product .product_title{color:var(--rud-charcoal);font-size:clamp(2rem,4vw,3rem);line-height:1.12}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--rud-blue)!important;font-weight:800}
.woocommerce .quantity .qty{min-height:46px;border:1px solid var(--rud-border);border-radius:8px}
.woocommerce-message,.woocommerce-info{border-top-color:var(--rud-blue)!important;background:#F4F8FC!important}
.woocommerce-message:before,.woocommerce-info:before{color:var(--rud-blue)!important}
.woocommerce-error{border-top-color:var(--rud-orange)!important}
.woocommerce-cart-form,.cart_totals,.woocommerce-checkout-review-order,.woocommerce-checkout .col2-set>div{border:1px solid var(--rud-border);border-radius:16px;padding:22px;background:#fff}
.woocommerce table.shop_table{border-color:var(--rud-border)!important;border-radius:12px!important}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{min-height:44px;border:1px solid var(--rud-border);border-radius:9px;padding:9px 11px}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;border:1px solid var(--rud-border);border-radius:12px;overflow:hidden}
.woocommerce-account .woocommerce-MyAccount-navigation a{display:block;padding:11px 14px;border-bottom:1px solid var(--rud-border)}

/* Footer widgets */
.site-footer{margin-top:60px;background:var(--rud-charcoal);color:#DDE5EC}
.footer-accent{height:4px;background:linear-gradient(90deg,var(--rud-orange) 0 32%,var(--rud-blue) 32% 68%,var(--rud-steel) 68% 100%)}
.footer-widgets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px;padding:52px 0 42px}
.site-footer .widget{margin:0}
.site-footer .widget+.widget{margin-top:18px}
.site-footer .widget-title{margin:0 0 14px;color:#fff;font-size:1.05rem}
.site-footer a{color:#E7EEF5}
.site-footer a:hover,.site-footer a:focus{color:#FF8C4A}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li+li{margin-top:8px}
.site-footer p{margin-top:0}
.site-footer input,.site-footer select,.site-footer textarea{max-width:100%;width:100%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.07);color:#fff;border-radius:8px;padding:9px 10px}
.site-footer .wp-block-search__button,.site-footer button,.site-footer input[type=submit]{background:var(--rud-orange);border:0;color:#fff;border-radius:8px;padding:9px 13px;cursor:pointer}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 0;font-size:.88rem;color:#BFCBD5}
.footer-bottom-inner{display:flex;justify-content:space-between;gap:20px;align-items:center}
.footer-bottom p{margin:0}
.footer-bottom .footer-menu ul{display:flex;gap:16px;flex-wrap:wrap;list-style:none;padding:0;margin:0}
.footer-bottom .footer-menu li,.footer-bottom .footer-menu li+li{margin-top:0}
.footer-bottom .footer-menu a{display:inline-flex;align-items:center;line-height:1.4}

/* Forms and utilities */
input[type=text],input[type=email],input[type=url],input[type=tel],input[type=password],input[type=search],input[type=number],textarea,select{border:1px solid var(--rud-border);border-radius:9px;padding:10px 12px;max-width:100%;background:#fff;color:var(--rud-text)}
input:focus,textarea:focus,select:focus{outline:2px solid rgba(5,90,175,.18);border-color:var(--rud-blue)}
.alignwide{width:min(100%,var(--rud-container));margin-left:auto;margin-right:auto}
.alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}

@media (max-width:1050px){
  .header-main{grid-template-columns:minmax(190px,260px) minmax(260px,1fr) auto;gap:18px}
  .category-grid,.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer-widgets{grid-template-columns:repeat(2,minmax(0,1fr))}
  .posts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:782px){
  /* Use fixed positioning on mobile for reliable sticky behavior across mobile browsers. */
  .mobile-header-spacer{display:block;height:var(--rud-mobile-header-height,180px);width:100%}
  .site-header{position:fixed;top:0;left:0;right:0;width:100%;z-index:9999}
  .admin-bar .site-header{top:46px}
  .woocommerce-container{width:min(calc(100% - 28px),var(--rud-container))}
  .container{width:min(calc(100% - 28px),var(--rud-container))}
  .header-topbar{font-size:.8rem;min-height:28px;padding:5px 0}
  .header-topbar-inner{grid-template-columns:1fr 1fr;gap:3px 12px}
  .header-topbar-center{grid-column:1 / -1;grid-row:1;text-align:center;white-space:normal;font-size:.78rem}
  .header-topbar-left{grid-column:1;grid-row:2;text-align:left}
  .header-topbar-right{grid-column:2;grid-row:2;text-align:right}
  .header-topbar-left:empty,.header-topbar-right:empty{display:none}
  .header-main{grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"toggle brand cart" "search search search";gap:10px 12px;min-height:auto;padding:10px 0 12px}
  .menu-toggle{display:grid;place-items:center;grid-area:toggle}
  .site-branding{grid-area:brand;text-align:center}
  .site-branding .custom-logo-link,.default-logo-link{justify-content:center;max-width:230px}
  .site-branding .custom-logo,.default-logo-link img{max-height:52px}
  .header-search{grid-area:search;max-width:none}
  .header-actions{grid-area:cart}
  .header-cart-meta{display:none}
  .header-cart-toggle{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;gap:0;justify-content:center}
  .mini-cart-panel{display:none!important}
  .header-nav-wrap{display:none}
  .header-nav-wrap.is-open{display:block}
  .header-nav-inner{display:block;padding:7px 0 12px}
  .primary-navigation ul{display:block}
  .primary-navigation a{padding:10px 11px}
  .primary-navigation .sub-menu{display:block;position:static;border:0;box-shadow:none;padding:0 0 0 16px;background:transparent}
  .home-hero-inner{grid-template-columns:1fr;gap:20px;min-height:0;padding:42px 0}
  .home-hero-copy{text-align:center;margin-inline:auto}
  .home-hero-eyebrow{justify-content:center}
  .home-hero-actions{justify-content:center}
  .home-hero-art img{width:min(82%,360px)}
  .category-grid,.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .woocommerce div.product{grid-template-columns:1fr;gap:28px}
  .section-heading{align-items:flex-start;flex-direction:column}
}

@media (max-width:560px){
  .site-branding .custom-logo-link,.default-logo-link{max-width:185px}
  .product-search-field{height:44px;font-size:16px;padding-left:15px}
  .product-search-submit{width:34px;height:34px}
  .category-grid,.woocommerce ul.products,.posts-grid,.footer-widgets{grid-template-columns:1fr}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{min-height:0}
  .footer-bottom-inner{align-items:flex-start;flex-direction:column}
}


/* SEO content and starter page sections */
.entry-content{max-width:100%}
.entry-content>p,.entry-content>ul,.entry-content>ol,.entry-content>h2,.entry-content>h3,.entry-content>.rud-contact-card{max-width:920px}
/* WooCommerce description panels also use the entry-content class. Override the
   starter-page reading width there so product text can use the full product container. */
.single-product .woocommerce-tabs .entry-content>p,
.single-product .woocommerce-tabs .entry-content>ul,
.single-product .woocommerce-tabs .entry-content>ol,
.single-product .woocommerce-tabs .entry-content>h2,
.single-product .woocommerce-tabs .entry-content>h3,
.single-product .woocommerce-tabs .entry-content>div,
.single-product .woocommerce-tabs .panel>p,
.single-product .woocommerce-tabs .panel>ul,
.single-product .woocommerce-tabs .panel>ol,
.single-product .woocommerce-tabs .panel>h2,
.single-product .woocommerce-tabs .panel>h3,
.single-product .woocommerce-tabs .panel>div{max-width:none!important;width:100%!important;}
.entry-content h2{font-size:clamp(1.65rem,2.8vw,2.25rem);line-height:1.2;margin-top:2.25rem;margin-bottom:.8rem}
.entry-content h3{font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.3;margin-top:1.5rem;margin-bottom:.55rem}
.entry-content p+ul,.entry-content p+ol{margin-top:-.25rem}
.entry-content ul,.entry-content ol{padding-left:1.35rem}
.entry-content li+li{margin-top:.4rem}
.rud-seo-intro{max-width:920px;margin-bottom:34px}
.rud-featured-products{margin:38px 0 18px;padding:30px;border:1px solid var(--rud-border);border-radius:18px;background:var(--rud-bg)}
.rud-featured-products h2{margin-top:0}
.rud-featured-products>.woocommerce{max-width:none}
.rud-info-grid{gap:20px;margin:26px 0 16px!important}
.rud-info-grid>.wp-block-column{padding:22px;border:1px solid var(--rud-border);border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(35,58,80,.05)}
.rud-info-grid h3{margin-top:0}
.rud-contact-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0 30px;padding:22px;border:1px solid var(--rud-border);border-radius:14px;background:var(--rud-bg)}
.rud-contact-card__item{display:flex;flex-direction:column;gap:4px;min-width:0}
.rud-contact-card__item strong{color:var(--rud-charcoal);font-size:.88rem;text-transform:uppercase;letter-spacing:.04em}
.rud-contact-card__item a,.rud-contact-card__item span{font-weight:700;overflow-wrap:anywhere}

@media (max-width:782px){
  .rud-featured-products{padding:20px}
  .rud-contact-card{grid-template-columns:1fr}
}

/* Inner page hero */
.inner-page-hero{position:relative;display:flex;align-items:center;background-position:center;background-size:cover;background-repeat:no-repeat;color:#fff;overflow:hidden}
.inner-page-hero:after{content:"";position:absolute;inset:auto 0 0;height:4px;background:linear-gradient(90deg,var(--rud-orange) 0 30%,var(--rud-blue) 30% 70%,var(--rud-steel) 70% 100%)}
.inner-page-hero__inner{position:relative;z-index:1;padding-top:28px;padding-bottom:28px}
.inner-page-hero__title{margin:0;color:#fff;font-size:clamp(2rem,4.2vw,3.35rem);line-height:1.08;text-shadow:0 2px 12px rgba(0,0,0,.24);max-width:900px}
.inner-page-hero__subtitle{margin:8px 0 0;max-width:760px;color:rgba(255,255,255,.92);font-size:1.05rem}
.content-wrap{padding-top:42px;padding-bottom:42px}

/* Back to top */
.back-to-top{position:fixed;right:24px;bottom:24px;z-index:999;width:48px;height:48px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--rud-blue);color:#fff;box-shadow:0 8px 24px rgba(28,45,65,.24);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease,background .2s ease}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover,.back-to-top:focus{background:var(--rud-orange);outline:none}
.back-to-top:focus-visible{outline:3px solid rgba(254,102,13,.35);outline-offset:3px}
.back-to-top svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:782px){.inner-page-hero__inner{padding-top:22px;padding-bottom:22px}.back-to-top{right:16px;bottom:16px;width:44px;height:44px}}


/* Contact form */
.rud-contact-form-section{margin:46px 0 10px;padding:30px;border:1px solid var(--rud-border);border-radius:18px;background:var(--rud-bg)}
.rud-contact-form-copy{max-width:820px;margin-bottom:22px}
.rud-contact-form-copy h2{margin:.15rem 0 .7rem;font-size:clamp(1.65rem,2.8vw,2.25rem);line-height:1.2;color:var(--rud-charcoal)}
.rud-contact-form-copy p{margin-bottom:0}
.rud-section-kicker{margin:0!important;color:var(--rud-orange);font-weight:800;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.rud-contact-form{max-width:920px}
.rud-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.rud-form-grid p{margin:0}
.rud-form-grid__full{grid-column:1 / -1}
.rud-contact-form label{display:block;margin-bottom:6px;color:var(--rud-charcoal);font-weight:700}
.rud-contact-form input,.rud-contact-form textarea{width:100%;background:#fff}
.rud-contact-form textarea{resize:vertical;min-height:150px}
.rud-contact-submit{margin-top:18px;min-height:48px;padding:11px 22px!important;border:0!important;border-radius:9px!important;background:var(--rud-orange)!important;color:#fff!important;font-weight:800!important;cursor:pointer}
.rud-contact-submit:hover,.rud-contact-submit:focus{background:var(--rud-blue)!important;color:#fff!important}
.rud-form-notice{max-width:920px;margin:0 0 20px;padding:13px 15px;border-radius:9px;font-weight:700}
.rud-form-notice--success{background:#eaf7ef;border:1px solid #aad8ba;color:#215f38}
.rud-form-notice--error{background:#fff1ed;border:1px solid #f0b4a4;color:#8a2f1e}
.rud-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media (max-width:700px){.rud-contact-form-section{padding:20px}.rud-form-grid{grid-template-columns:1fr}.rud-form-grid__full{grid-column:auto}}

/* Google reCAPTCHA */
.rud-recaptcha-wrap{margin:4px 0 18px;max-width:100%;overflow:hidden}
.rud-recaptcha-config-note{margin:4px 0 18px;padding:10px 12px;border:1px solid #f0c36d;background:#fff8e5;border-radius:8px;color:#664d03;font-size:.9rem}
@media (max-width:380px){.rud-recaptcha-wrap{transform:scale(.88);transform-origin:left top;margin-bottom:-16px}}

/* Mini cart action buttons */
.mini-cart-panel .woocommerce-mini-cart__buttons a.button,
.mini-cart-panel .woocommerce-mini-cart__buttons a.wc-forward{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  margin:0!important;
  padding:10px 14px!important;
  border:0!important;
  border-radius:10px!important;
  background:var(--rud-blue)!important;
  color:#fff!important;
  font-weight:800!important;
  line-height:1.2!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
.mini-cart-panel .woocommerce-mini-cart__buttons a.button:hover,
.mini-cart-panel .woocommerce-mini-cart__buttons a.button:focus,
.mini-cart-panel .woocommerce-mini-cart__buttons a.wc-forward:hover,
.mini-cart-panel .woocommerce-mini-cart__buttons a.wc-forward:focus{
  background:var(--rud-blue-dark, #044b91)!important;
  color:#fff!important;
}
.mini-cart-panel .woocommerce-mini-cart__buttons a.checkout,
.mini-cart-panel .woocommerce-mini-cart__buttons a.checkout.wc-forward{
  background:var(--rud-orange)!important;
  color:#fff!important;
}
.mini-cart-panel .woocommerce-mini-cart__buttons a.checkout:hover,
.mini-cart-panel .woocommerce-mini-cart__buttons a.checkout:focus{
  background:var(--rud-orange-dark)!important;
  color:#fff!important;
}


/* v1.0.32 - use WooCommerce's native single-product layout.
   The gallery and summary retain WooCommerce's standard two-column behavior.
   Tabs are explicitly cleared below both columns and fill the entire site container. */
body.single-product .woocommerce-container{
  width:min(calc(100% - 40px),var(--rud-container));
  max-width:var(--rud-container);
  margin-inline:auto;
}
body.single-product .woocommerce div.product{
  display:block!important;
  width:100%!important;
  max-width:none!important;
}
body.single-product .woocommerce div.product div.images,
body.single-product .woocommerce div.product div.summary{
  box-sizing:border-box;
}
body.single-product .woocommerce div.product .woocommerce-tabs{
  display:block!important;
  float:none!important;
  clear:both!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs::before,
body.single-product .woocommerce div.product .woocommerce-tabs::after{
  content:"";
  display:table;
  clear:both;
}
body.single-product .woocommerce div.product .woocommerce-tabs .panel,
body.single-product .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel,
body.single-product .woocommerce div.product .woocommerce-tabs #tab-description,
body.single-product .woocommerce div.product .woocommerce-tabs #tab-description.entry-content{
  float:none!important;
  clear:both!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs #tab-description > *,
body.single-product .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel > *{
  max-width:none!important;
}
body.single-product .woocommerce div.product .related,
body.single-product .woocommerce div.product .upsells{
  clear:both!important;
  width:100%!important;
  max-width:none!important;
}
@media (max-width:782px){
  body.single-product .woocommerce-container{width:min(calc(100% - 28px),var(--rud-container));}
}


/* ShopRollUpDoors US-only checkout. Classic checkout country fields are
   rendered as hidden inputs by PHP. Checkout Blocks keep the one-option US
   country control visible so WooCommerce can initialize the US state select. */
body.woocommerce-checkout select#billing_state,
body.woocommerce-checkout select#shipping_state {
    width: 100%;
    min-height: 48px;
}


/* Product lead-time message */
.rollupdoors-ships-out-in {
    display: flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    max-width: 100%;
    margin: 16px 0 18px;
    padding: 10px 14px;
    border-left: 4px solid var(--rud-orange, #fe660d);
    border-radius: 4px;
    background: #f5f8fb;
    color: var(--rud-charcoal, #283a4f);
    line-height: 1.35;
}
.rollupdoors-ships-out-in__label {
    font-weight: 600;
    color: var(--rud-blue, #055aaf);
}
.rollupdoors-ships-out-in__value {
    font-weight: 700;
    color: var(--rud-charcoal, #283a4f);
}
@media (max-width: 480px) {
    .rollupdoors-ships-out-in {
        align-items: flex-start;
        flex-direction: column;
        gap: 2px;
        width: 100%;
        box-sizing: border-box;
    }
}


/* Product meta list: SKU, Category, Tags and Brand */
.woocommerce div.product .rollupdoors-product-meta{margin-top:20px;padding-top:16px;border-top:1px solid var(--rud-border)}
.woocommerce div.product .rollupdoors-product-meta__list{list-style:none!important;margin:0!important;padding:0!important}
.woocommerce div.product .rollupdoors-product-meta__item{list-style:none!important;margin:0!important;padding:3px 0!important;line-height:1.5;color:var(--rud-text)}
.woocommerce div.product .rollupdoors-product-meta__item::marker{content:""}
.woocommerce div.product .rollupdoors-product-meta__label{font-weight:800;color:var(--rud-charcoal)}
.woocommerce div.product .rollupdoors-product-meta__value{font-weight:400;color:var(--rud-text)}
.woocommerce div.product .rollupdoors-product-meta__value a{color:var(--rud-blue)}
.woocommerce div.product .rollupdoors-product-meta__value a:hover,.woocommerce div.product .rollupdoors-product-meta__value a:focus{color:var(--rud-orange)}


/* Shop page SEO content: short intro above products, longer editable content below. */
body.woocommerce-shop .shop-seo-intro{
  width:100%;
  margin:0 0 22px;
  padding:14px 18px;
  border-left:4px solid var(--rud-blue);
  border-radius:6px;
  background:#f7f9fc;
  color:var(--rud-text);
  line-height:1.75;
  box-sizing:border-box;
}
body.woocommerce-shop .shop-seo-intro p{margin:0}
body.woocommerce-shop .shop-seo-content{
  clear:both;
  width:100%;
  max-width:none;
  margin:40px 0 0;
  padding:28px 0 0;
  border-top:1px solid var(--rud-border);
  color:var(--rud-text);
  line-height:1.8;
  box-sizing:border-box;
}
body.woocommerce-shop .shop-seo-content > *{max-width:none}
body.woocommerce-shop .shop-seo-content h2{
  margin:0 0 14px;
  color:var(--rud-charcoal);
  font-size:clamp(1.55rem,2.2vw,2rem);
  line-height:1.25;
}
body.woocommerce-shop .shop-seo-content h2:not(:first-child){margin-top:38px}
body.woocommerce-shop .shop-seo-content h3{
  margin:28px 0 10px;
  color:var(--rud-blue);
  font-size:1.25rem;
  line-height:1.3;
}
body.woocommerce-shop .shop-seo-content p{margin:0 0 16px}
body.woocommerce-shop .shop-seo-content ul,
body.woocommerce-shop .shop-seo-content ol{margin:0 0 18px 1.25rem}
@media (max-width:782px){
  body.woocommerce-shop .shop-seo-intro{padding:15px 17px;margin-bottom:22px}
  body.woocommerce-shop .shop-seo-content{margin-top:38px;padding-top:26px}
}

/* Cart page supporting SEO copy */
.shoprollupdoors-cart-seo-intro {
    max-width: 980px;
    margin: 0 0 26px;
    line-height: 1.7;
}
.shoprollupdoors-cart-seo-intro p:last-child { margin-bottom: 0; }
.shoprollupdoors-cart-seo-support {
    margin-top: 42px;
    padding-top: 28px;
    border-top: 1px solid var(--rud-border);
    line-height: 1.75;
}
.shoprollupdoors-cart-seo-support h2 {
    margin: 0 0 14px;
    color: var(--rud-charcoal);
}
.shoprollupdoors-cart-seo-support p {
    max-width: 1040px;
}
.shoprollupdoors-cart-seo-support p:last-child { margin-bottom: 0; }


/* Checkout page supporting SEO / reassurance copy */
.shoprollupdoors-checkout-seo-intro {
    max-width: 980px;
    margin: 0 0 26px;
    line-height: 1.7;
}
.shoprollupdoors-checkout-seo-intro p:last-child { margin-bottom: 0; }
.shoprollupdoors-checkout-seo-support {
    margin-top: 42px;
    padding-top: 28px;
    border-top: 1px solid var(--rud-border);
    line-height: 1.75;
}
.shoprollupdoors-checkout-seo-support h2 {
    margin: 0 0 14px;
    color: var(--rud-charcoal);
}
.shoprollupdoors-checkout-seo-support p {
    max-width: 1040px;
}
.shoprollupdoors-checkout-seo-support p:last-child { margin-bottom: 0; }

/* Checkout policy consent checkbox */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox.checkbox,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label.checkbox {
  display:flex;
  align-items:flex-start;
  gap:10px;
  line-height:1.55;
  font-weight:400;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
  width:18px;
  height:18px;
  margin:3px 0 0;
  flex:0 0 18px;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
  font-weight:700;
  color:var(--rud-blue);
  text-decoration:underline;
  text-underline-offset:2px;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a:hover,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a:focus {
  color:var(--rud-orange);
}


/* Checkout Blocks required policy consent (v1.0.49) */
.rollupdoors-policy-consent {
    margin: 18px 0 16px;
    padding: 14px 16px;
    border: 1px solid #d9e1e8;
    border-radius: 6px;
    background: #f8fafc;
}
.rollupdoors-policy-consent__label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    line-height: 1.55;
    cursor: pointer;
}
.rollupdoors-policy-consent__label input[type="checkbox"] {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 3px 0 0;
}
.rollupdoors-policy-consent a {
    color: var(--rud-blue, #055aaf);
    font-weight: 600;
}
.rollupdoors-policy-consent a:hover,
.rollupdoors-policy-consent a:focus {
    color: var(--rud-orange, #fe660d);
}
.rollupdoors-policy-consent__error {
    display: none;
    margin: 10px 0 0 28px;
    color: #b42318;
    font-weight: 600;
}
.rollupdoors-policy-consent.has-error .rollupdoors-policy-consent__error {
    display: block;
}
body.woocommerce-checkout.rollupdoors-has-policy-consent .wc-block-checkout__terms {
    display: none !important;
}


/* My Account supporting content - v1.0.50 */
.shoprollupdoors-account-seo-intro{
  margin:0 0 28px;
  line-height:1.7;
}
.shoprollupdoors-account-seo-support{
  margin-top:42px;
  padding-top:28px;
  border-top:1px solid var(--rud-border);
  line-height:1.75;
}
.shoprollupdoors-account-seo-support h2{
  margin:0 0 14px;
  color:var(--rud-charcoal);
}
.shoprollupdoors-account-seo-support p:last-child{
  margin-bottom:0;
}
