/* =========================================================================
   Revo Deck — main theme styles
   Premium, architectural, WoodEvo-inspired.
   ========================================================================= */

/* -------- SF Pro Display (self-hosted) -------- */
@font-face{
	font-family:"SF Pro Display";
	font-style:normal;font-weight:400;font-display:swap;
	src:local("SF Pro Display"),url("../fonts/SFProDisplay-Regular.woff") format("woff");
}
@font-face{
	font-family:"SF Pro Display";
	font-style:normal;font-weight:500;font-display:swap;
	src:local("SF Pro Display"),url("../fonts/SFProDisplay-Medium.woff") format("woff");
}
@font-face{
	font-family:"SF Pro Display";
	font-style:normal;font-weight:600;font-display:swap;
	src:local("SF Pro Display"),url("../fonts/SFProDisplay-Medium.woff") format("woff");
}
@font-face{
	font-family:"SF Pro Display";
	font-style:normal;font-weight:700;font-display:swap;
	src:local("SF Pro Display"),url("../fonts/SFProDisplay-Bold.woff") format("woff");
}
@font-face{
	font-family:"SF Pro Display";
	font-style:normal;font-weight:800;font-display:swap;
	src:local("SF Pro Display"),url("../fonts/SFProDisplay-Bold.woff") format("woff");
}
@font-face{
	font-family:"SF Pro Display";
	font-style:normal;font-weight:900;font-display:swap;
	src:local("SF Pro Display"),url("../fonts/SFProDisplay-Bold.woff") format("woff");
}

:root{
	--rd-ink:#16150f;
	--rd-charcoal:#1d1c16;
	--rd-green:#2f9e2f;          /* brand green (logo) */
	--rd-green-deep:#207a1f;
	--rd-olive:#33341f;          /* dark section / buttons */
	--rd-olive-2:#3f4127;
	--rd-sand:#f4efe8;           /* warm section bg */
	--rd-cream:#ece4d8;
	--rd-tan:#c99a63;            /* timber accent */
	--rd-maroon:#6e2a25;
	--rd-line:#e6ded2;
	--rd-muted:#6f6a60;
	--rd-white:#ffffff;

	--rd-font:"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	--rd-display:"SF Pro Display",-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	--rd-letter:-0.01em;

	--rd-header-h:88px;
	--rd-container:1240px;
	--rd-container-wide:1440px;
	--rd-radius:4px;
	--rd-shadow:0 18px 50px rgba(20,18,12,.14);
	--rd-ease:cubic-bezier(.22,.61,.36,1);
}

/* ------------------------------- Base ---------------------------------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden;}
body{
	margin:0;
	font-family:var(--rd-font);
	color:var(--rd-ink);
	background:var(--rd-white);
	font-size:17px;
	line-height:1.65;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
	max-width:100%;
	overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--rd-green-deep);text-decoration:none;}
h1,h2,h3,h4{font-family:var(--rd-display);color:var(--rd-ink);line-height:1.08;margin:0 0 .5em;font-weight:800;letter-spacing:-.01em;}
p{margin:0 0 1em;}
.container{width:100%;max-width:var(--rd-container);margin:0 auto;padding:0 24px;}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.skip-link{position:absolute;left:-999px;top:0;background:#fff;padding:10px 16px;z-index:2000;}
.skip-link:focus{left:8px;top:8px;}

/* ------------------------------ Buttons -------------------------------- */
.btn{
	--bg:var(--rd-olive);
	--fg:#fff;
	position:relative;
	display:inline-flex;align-items:center;justify-content:center;
	gap:.5em;
	padding:15px 30px;
	font-family:var(--rd-display);
	font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;
	color:var(--fg);background:var(--bg);
	border:1px solid var(--bg);
	border-radius:var(--rd-radius);
	cursor:pointer;overflow:hidden;
	transition:transform .3s var(--rd-ease),background .3s var(--rd-ease),color .3s var(--rd-ease),border-color .3s var(--rd-ease);
}
.btn:hover{transform:translateY(-2px);}
.btn--fill{--bg:var(--rd-olive);--fg:#fff;}
.btn--fill:hover{--bg:var(--rd-green-deep);border-color:var(--rd-green-deep);color:#fff;}
.btn--outline{--bg:transparent;--fg:var(--rd-ink);border-color:var(--rd-ink);}
.btn--outline:hover{--bg:var(--rd-ink);color:#fff;}
.btn--outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.55);}
.btn--outline-light:hover{background:#fff;color:var(--rd-ink);border-color:#fff;transform:translateY(-2px);}
/* "Calculate this range": brand-green when active, flips to a white button on hover (same as Order Samples). */
.btn--calc-range{--bg:var(--rd-green);--fg:#fff;border-color:var(--rd-green);}
.btn--calc-range:hover{--bg:#fff;--fg:var(--rd-ink);border-color:#fff;}
.btn--ghost{--bg:transparent;--fg:#fff;border-color:rgba(255,255,255,.6);}
.btn--ink{--bg:var(--rd-ink);--fg:#fff;border-color:var(--rd-ink);}
.btn--ink:hover{--bg:var(--rd-green-deep);border-color:var(--rd-green-deep);}
.btn--sample{--bg:transparent;--fg:var(--rd-green-deep);border-color:var(--rd-green-deep);}
.btn--sample:hover{--bg:var(--rd-green-deep);--fg:#fff;border-color:var(--rd-green-deep);}
.btn--link{background:none;border:none;color:var(--rd-green-deep);text-transform:none;letter-spacing:.01em;font-weight:600;padding:8px 0;}
.btn--link:hover{transform:none;color:var(--rd-ink);}

/* Animated hero buttons: sliding label swap */
.btn--hero{padding:0;min-width:0;flex:1 1 0;height:58px;white-space:nowrap;}
.btn--hero .btn__label,.btn--hero .btn__hover{padding:0 18px;}
.btn--hero .btn__label,.btn--hero .btn__hover{
	display:flex;align-items:center;justify-content:center;
	width:100%;height:100%;padding:0 26px;
	transition:transform .38s var(--rd-ease),opacity .38s var(--rd-ease);
}
.btn--hero .btn__hover{position:absolute;inset:0;transform:translateY(100%);opacity:0;}
.btn--hero:hover .btn__label{transform:translateY(-100%);opacity:0;}
.btn--hero:hover .btn__hover{transform:translateY(0);opacity:1;}
.btn--hero.btn--ghost:hover{background:#fff;color:var(--rd-ink);border-color:#fff;}
.btn--hero.btn--fill:hover{background:var(--rd-green-deep);border-color:var(--rd-green-deep);}

/* ------------------------------ Header --------------------------------- */
.site-header{
	position:fixed;top:0;left:0;right:0;z-index:1000;
	transition:background .35s var(--rd-ease),box-shadow .35s var(--rd-ease),transform .35s var(--rd-ease);
}
.site-header__inner{
	display:flex;align-items:center;gap:24px;
	height:var(--rd-header-h);
}
.site-header--overlay{background:linear-gradient(to bottom,rgba(10,9,6,.55),rgba(10,9,6,0));}
.site-header--solid{background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.07);}
.site-header.is-scrolled{background:#fff;box-shadow:0 6px 24px rgba(0,0,0,.08);}

.site-brand{flex:0 0 auto;margin-right:auto;}
.site-brand__logo{height:52px!important;width:auto!important;max-width:220px;transition:filter .3s;}
/* On dark overlay header, keep logo bright */
.site-header--overlay:not(.is-scrolled) .site-brand__logo{filter:brightness(0) invert(1);}

/* Nav */
.main-nav{display:flex;}
.main-nav__list{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0;}
.menu-item__link{
	display:inline-flex;align-items:center;gap:7px;
	padding:12px 16px;
	font-family:var(--rd-display);font-weight:600;font-size:15px;letter-spacing:.01em;
	color:var(--rd-ink);border-radius:var(--rd-radius);
	transition:color .25s,opacity .25s;
}
.site-header--overlay:not(.is-scrolled) .menu-item__link{color:#fff;}
.menu-item__link:hover{color:var(--rd-green);}
.caret{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.7;transition:transform .25s;}
.menu-item:hover .caret,.menu-item.is-open .caret{transform:rotate(-135deg) translateY(-2px);}

/* Simple dropdown */
.has-dropdown{position:relative;}
.dropdown{
	position:absolute;top:100%;left:0;min-width:210px;
	background:#fff;border-radius:var(--rd-radius);
	box-shadow:var(--rd-shadow);list-style:none;margin:0;padding:10px;
	opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);
	transition:opacity .25s,transform .25s,visibility .25s;
}
/* `.is-open` only. A `:focus-within` rule used to be here, but a link keeps
   focus after being clicked, which pinned the panel open over the page until
   something else was clicked. Keyboard opening is handled in main.js. */
.has-dropdown.is-open .dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
.dropdown a{display:block;padding:11px 14px;color:var(--rd-ink);border-radius:var(--rd-radius);font-weight:500;}
.dropdown a:hover{background:var(--rd-sand);color:var(--rd-green-deep);}

/* Mega menu */
.has-mega{position:static;}
.mega{
	position:absolute;left:0;right:0;top:100%;
	background:#fff;box-shadow:var(--rd-shadow);
	border-top:1px solid var(--rd-line);
	opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);
	transition:opacity .3s var(--rd-ease),transform .3s var(--rd-ease),visibility .3s;
}
.has-mega.is-open .mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
.mega__inner{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:44px;padding:40px 24px 46px;}
.mega__eyebrow{display:block;font-family:var(--rd-display);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--rd-muted);margin-bottom:16px;}
.mega__list{list-style:none;margin:0;padding:0;}
.mega__list a{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border-radius:var(--rd-radius);color:var(--rd-ink);font-family:var(--rd-display);font-weight:600;transition:background .2s,color .2s,padding .2s;}
.mega__list a:hover,.mega__list-link.is-active{background:var(--rd-olive);color:#fff;padding-left:20px;}
.mega__arrow{opacity:.5;font-size:18px;transition:transform .2s;}
.mega__list a:hover .mega__arrow,.mega__list-link.is-active .mega__arrow{opacity:1;transform:translateX(3px);}
/* Range short code badge — (P) / (S) / (H). One rule, used in the mega menu,
   homepage cards, range rows and the category chips. */
.rd-rcode{display:inline-grid;place-items:center;width:20px;height:20px;flex:0 0 auto;background:var(--rd-olive);color:#fff;border-radius:5px;font-family:var(--rd-display);font-weight:800;font-size:11px;line-height:1;letter-spacing:0;vertical-align:middle;}
.mega__list-name{display:inline-flex;align-items:center;gap:9px;}
.mega__list a:hover .rd-rcode,.mega__list-link.is-active .rd-rcode{background:#fff;color:var(--rd-olive);}
.rd-collections__chip .rd-rcode{width:18px;height:18px;font-size:10px;margin-right:8px;}
.rd-collections__chip.is-active .rd-rcode{background:#fff;color:var(--rd-olive);}
.rangerow__title .rd-rcode{width:26px;height:26px;font-size:14px;border-radius:7px;margin-left:6px;transform:translateY(-4px);}
/* On photography the flat olive disappears, so lift it to a translucent chip. */
.rd-rcode--onimg{background:rgba(255,255,255,.22);color:#fff;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);margin-left:7px;transform:translateY(-2px);}

.mega__all{display:inline-flex;align-items:center;gap:8px;margin:14px 0 0 14px;font-family:var(--rd-display);font-weight:700;font-size:13px;letter-spacing:.04em;color:var(--rd-green-deep);}
.mega__all em{font-style:normal;transition:transform .25s;}
.mega__all:hover{color:var(--rd-ink);}
.mega__all:hover em{transform:translateX(4px);}

/* Feature panel that swaps per range.
   `.mega-feature.is-active` used to unconditionally set `visibility:visible`
   and `pointer-events:auto` on itself. A closed `.mega` sets both to
   hidden/none, but those are the *declared* values on `.mega-feature` itself,
   not inherited ones — an element's own rule always wins over an ancestor's,
   inheritance quirk or not. So the default-active "Premium Solid Composite"
   image tile stayed genuinely clickable at all times, including on first page
   load with the menu never opened. It sits at `position:absolute;top:100%`
   under the header, so its link silently won any click landing in that
   footprint — which is why "I am a Professional" on /samples/ opened a
   decking category instead. Both properties are now gated behind
   `.has-mega.is-open` so the active tile is only interactive while the menu
   is genuinely open. */
.mega__col--feature{position:relative;min-height:300px;}
.mega-feature{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .35s var(--rd-ease),transform .35s var(--rd-ease),visibility .35s;}
.mega-feature.is-active{position:relative;opacity:1;transform:none;}
.has-mega.is-open .mega-feature.is-active{visibility:visible;pointer-events:auto;}
.mega-feature__head{display:flex;align-items:baseline;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--rd-line);}
.mega-feature__title{font-family:var(--rd-display);font-weight:700;font-size:20px;color:var(--rd-ink);}
.mega-feature__tag{font-size:13px;color:var(--rd-muted);}
.mega-card{position:relative;min-height:250px;border-radius:var(--rd-radius);overflow:hidden;background-size:cover;background-position:center;display:flex;align-items:flex-end;transition:transform .5s var(--rd-ease);}
.mega-card::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,.05) 68%);}
.mega-card:hover{transform:scale(1.012);}
.mega-card__body{position:relative;z-index:1;padding:22px;color:#fff;}
.mega-card__title{display:block;font-family:var(--rd-display);font-weight:800;font-size:24px;}
.mega-card__desc{display:block;font-size:13px;opacity:.9;margin-top:4px;max-width:90%;}
.mega-card__cta{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-family:var(--rd-display);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;}
.mega-card__cta em{font-style:normal;transition:transform .3s;}
.mega-card:hover .mega-card__cta em{transform:translateX(5px);}
.mega__tools{list-style:none;margin:0;padding:0;}
.mega__tools a{display:flex;gap:14px;align-items:center;padding:12px 12px;border-radius:var(--rd-radius);color:var(--rd-ink);transition:background .2s;}
.mega__tools a:hover{background:var(--rd-sand);}
.mega__tool-ic{width:42px;height:42px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1;background:var(--rd-sand);color:var(--rd-green-deep);border:1px solid rgba(32,122,31,.14);border-radius:12px;font-size:20px;transition:background .2s,color .2s;}
.mega__tools a:hover .mega__tool-ic{background:var(--rd-green-deep);color:#fff;border-color:var(--rd-green-deep);}
.mega__tools strong{display:block;font-family:var(--rd-display);font-size:15px;}
.mega__tools em{display:block;font-style:normal;font-size:13px;color:var(--rd-muted);}

/* Header actions */
.header-actions{display:flex;align-items:center;gap:16px;flex:0 0 auto;}
.header-contact{display:flex;flex-direction:column;line-height:1.15;text-align:right;}
.header-contact__label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--rd-muted);}
.header-contact__num{font-family:var(--rd-display);font-weight:700;font-size:15px;color:var(--rd-ink);}
.site-header--overlay:not(.is-scrolled) .header-contact__label{color:rgba(255,255,255,.75);}
.site-header--overlay:not(.is-scrolled) .header-contact__num{color:#fff;}
.header-cta{padding:13px 22px;}
.header-cart{position:relative;display:inline-flex;align-items:center;color:var(--rd-ink);font-size:22px;}
.site-header--overlay:not(.is-scrolled) .header-cart{color:#fff;}
.rd-cart-count{position:absolute;top:-8px;right:-10px;min-width:18px;height:18px;padding:0 5px;background:var(--rd-green);color:#fff;font-size:11px;font-weight:700;font-family:var(--rd-font);border-radius:999px;display:grid;place-items:center;}

/* Nav toggle (mobile) */
.nav-toggle{display:none;flex-direction:column;gap:5px;width:44px;height:44px;justify-content:center;align-items:center;background:none;border:none;cursor:pointer;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--rd-ink);transition:transform .3s,opacity .3s;}
.site-header--overlay:not(.is-scrolled) .nav-toggle span{background:#fff;}

/* --------------------------- Mobile nav -------------------------------- */
.mobile-nav{position:fixed;inset:0;z-index:1200;visibility:hidden;}
.mobile-nav.is-open{visibility:visible;}
/* The backdrop follows the panel in the markup, so without an explicit stacking
   order it painted on top and swallowed every tap inside the drawer — menu
   links and accordions just closed the nav. */
.mobile-nav__backdrop{position:absolute;inset:0;z-index:0;background:rgba(10,9,6,.5);opacity:0;transition:opacity .3s;}
.mobile-nav.is-open .mobile-nav__backdrop{opacity:1;}
.mobile-nav__panel{position:absolute;top:0;right:0;z-index:1;height:100%;width:min(88vw,380px);background:#fff;box-shadow:var(--rd-shadow);transform:translateX(100%);transition:transform .35s var(--rd-ease);padding:26px 24px;overflow-y:auto;}
.mobile-nav.is-open .mobile-nav__panel{transform:translateX(0);}
.mobile-nav__close{position:absolute;top:14px;right:16px;display:inline-flex;align-items:center;justify-content:center;line-height:1;background:none;border:none;cursor:pointer;color:var(--rd-ink);padding:4px;}
.mobile-nav__list{list-style:none;margin:44px 0 0;padding:0;}
.mobile-nav__list>li{border-bottom:1px solid var(--rd-line);}
.mobile-nav__list a,.mobile-acc__btn{display:flex;justify-content:space-between;align-items:center;width:100%;padding:15px 4px;font-family:var(--rd-display);font-weight:600;font-size:17px;color:var(--rd-ink);background:none;border:none;text-align:left;cursor:pointer;}
.mobile-acc__panel{list-style:none;margin:0;padding:0 0 8px 12px;max-height:0;overflow:hidden;transition:max-height .3s var(--rd-ease);}
.mobile-acc.is-open .mobile-acc__panel{max-height:420px;}
.mobile-acc__panel a{font-size:15px;font-weight:500;padding:10px 4px;color:var(--rd-muted);}
.mobile-acc__btn .caret{transition:transform .3s;}
.mobile-acc.is-open .mobile-acc__btn .caret{transform:rotate(-135deg) translateY(-2px);}
.mobile-nav__contact{margin-top:24px;display:flex;flex-direction:column;gap:6px;}
.mobile-nav__contact a{color:var(--rd-green-deep);font-weight:600;}

/* ------------------------------- Hero ---------------------------------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;color:#fff;}
.hero__media{position:absolute;inset:0;z-index:0;}
.hero__video{width:100%;height:100%;object-fit:cover;}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,7,5,.78) 0%,rgba(8,7,5,.45) 45%,rgba(8,7,5,.15) 100%),linear-gradient(to top,rgba(8,7,5,.6),rgba(8,7,5,0) 40%);}
.hero__inner{position:relative;z-index:2;padding-top:var(--rd-header-h);}
.hero__content{max-width:740px;}
.hero__eyebrow{display:inline-block;font-family:var(--rd-display);font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.85);margin-bottom:22px;padding-bottom:10px;border-bottom:2px solid var(--rd-green);}
.hero__title{font-size:clamp(44px,7vw,92px);line-height:.98;color:#fff;margin:0 0 22px;text-shadow:0 2px 30px rgba(0,0,0,.35);}
.hero__lead{font-size:clamp(16px,1.4vw,20px);color:rgba(255,255,255,.9);max-width:540px;margin-bottom:34px;}
.hero__actions{display:flex;flex-wrap:nowrap;gap:12px;}
.hero__scroll{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:2;width:26px;height:44px;border:2px solid rgba(255,255,255,.6);border-radius:16px;}
.hero__scroll span{position:absolute;left:50%;top:8px;width:4px;height:8px;background:#fff;border-radius:2px;transform:translateX(-50%);animation:rdscroll 1.6s infinite;}
@keyframes rdscroll{0%{opacity:0;transform:translate(-50%,0);}40%{opacity:1;}80%{opacity:0;transform:translate(-50%,14px);}100%{opacity:0;}}

/* ------------------------------ Trust bar ------------------------------ */
.trustbar{background:var(--rd-olive);color:#fff;}
.trustbar__inner{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:22px 24px;}
.trustbar__item{text-align:center;display:flex;flex-direction:column;gap:2px;}
.trustbar__item strong{font-family:var(--rd-display);font-size:16px;letter-spacing:.02em;}
.trustbar__item span{font-size:13px;color:rgba(255,255,255,.72);}

/* ------------------------------ Sections ------------------------------- */
.section{padding:90px 0;}
.section--dark{background:var(--rd-olive);}
.section--sand{background:var(--rd-sand);}
.section__head{max-width:720px;margin:0 0 44px;}
.section__head--center{margin:0 auto 50px;text-align:center;}
.section__center{text-align:center;margin-top:40px;}
.section__eyebrow{display:block;font-family:var(--rd-display);font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--rd-green-deep);margin-bottom:14px;}
.section__title{font-size:clamp(30px,4vw,48px);}
.section__title--light{color:#fff;}
.section__sub{font-size:18px;color:var(--rd-muted);margin:0;}
.section__sub--light{color:rgba(255,255,255,.8);}

/* --------------------------- Collections grid -------------------------- */
.collections__grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:230px;gap:16px;}
.collection-card{position:relative;grid-column:span 2;border-radius:var(--rd-radius);overflow:hidden;display:flex;align-items:flex-end;isolation:isolate;}
.collection-card--feature{grid-column:span 3;grid-row:span 2;}
.collection-card__img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .7s var(--rd-ease);z-index:-2;}
.collection-card__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,.12) 60%,rgba(0,0,0,.02));z-index:-1;transition:background .4s;}
.collection-card:hover .collection-card__img{transform:scale(1.06);}
.collection-card__body{padding:24px;color:#fff;}
.collection-card__eyebrow{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;opacity:.85;margin-bottom:6px;}
.collection-card__title{display:block;font-family:var(--rd-display);font-weight:800;font-size:24px;line-height:1.05;}
.collection-card--feature .collection-card__title{font-size:34px;}
.collection-card__cta{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-family:var(--rd-display);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s;}
.collection-card:hover .collection-card__cta{opacity:1;transform:translateY(0);}
.collection-card__cta em{font-style:normal;transition:transform .3s;}
.collection-card:hover .collection-card__cta em{transform:translateX(5px);}

/* --------------------------------- FAQ ---------------------------------- */
.rd-faq{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:10px;}
.rd-faq__item{background:var(--rd-sand);border-radius:8px;overflow:hidden;}
.rd-faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;background:none;border:0;padding:18px 22px;font-family:var(--rd-display);font-weight:600;font-size:15px;color:var(--rd-ink);cursor:pointer;}
.rd-faq__toggle{font-size:20px;line-height:1;color:var(--rd-muted);flex:0 0 auto;transition:transform .2s;}
.rd-faq__item.is-open .rd-faq__toggle{transform:rotate(45deg);}
.rd-faq__a{padding:0 22px 18px;font-size:14px;color:var(--rd-muted);line-height:1.6;}
.rd-faq__a p{margin:0 0 12px;}
.rd-faq__a p:last-child{margin-bottom:0;}
.rd-faq__a ul{margin:0 0 12px;padding-left:20px;list-style:disc;}
.rd-faq__a li{margin:0 0 6px;}
.rd-faq__a a{color:var(--rd-green-deep);text-decoration:underline;}

/* --------------------------- Reviews & gallery -------------------------- */
/* Gold stars (Google style) */
.gr-stars{display:inline-flex;gap:1px;line-height:1;vertical-align:middle;}
.gr-star{color:#dadce0;font-size:16px;}
.gr-star--on{color:#fbbc04;}
.gr-g{display:inline-block;vertical-align:middle;flex:0 0 auto;}

/* Google summary bar */
.gr-summary{display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;margin:16px auto 0;padding:14px 22px;background:#fff;border:1px solid var(--rd-line);border-radius:14px;box-shadow:0 2px 14px rgba(0,0,0,.05);}
.gr-summary__text{display:flex;flex-direction:column;gap:2px;text-align:left;}
.gr-summary__label{font-family:var(--rd-display);font-weight:700;font-size:14px;color:var(--rd-ink);}
.gr-summary__rating{display:inline-flex;align-items:center;gap:8px;}
.gr-summary__rating strong{font-size:20px;color:#e0a800;font-family:var(--rd-display);line-height:1;}
.gr-summary__rating .gr-star{font-size:18px;}
.gr-summary__count{font-size:13px;color:var(--rd-muted);}
.gr-summary__cta{font-family:var(--rd-display);font-weight:700;font-size:13px;color:var(--rd-green-deep);border:1px solid var(--rd-line);border-radius:999px;padding:8px 16px;transition:background .2s,color .2s,border-color .2s;}
.gr-summary__cta:hover{background:var(--rd-green-deep);color:#fff;border-color:var(--rd-green-deep);}

.reviews-gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px;}
.review-card{background:#fff;border:1px solid var(--rd-line);border-radius:var(--rd-radius);padding:22px 24px;margin:0;display:flex;flex-direction:column;gap:12px;}
.review-card__head{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;}
.review-card__avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--rd-olive);color:#fff;font-family:var(--rd-display);font-weight:700;font-size:17px;overflow:hidden;}
.review-card__avatar--img{object-fit:cover;padding:0;}
.review-card__id{min-width:0;display:flex;flex-direction:column;}
.review-card__name{font-family:var(--rd-display);font-weight:700;font-size:14px;color:var(--rd-ink);font-style:normal;line-height:1.3;}
.review-card__time{font-size:12px;color:var(--rd-muted);}
.review-card__g{display:inline-flex;align-items:center;}
.review-card__text{font-size:14.5px;color:var(--rd-ink);line-height:1.6;margin:0;}
.reviews-gallery__photos{margin-top:56px;}
.gr-all{text-align:center;margin:26px 0 0;}
.gr-all a{font-family:var(--rd-display);font-weight:700;font-size:14px;color:var(--rd-green-deep);}
.gr-all a:hover{color:var(--rd-ink);}
.reviews-gallery__photos-title{text-align:center;font-family:var(--rd-display);font-size:20px;margin:0 0 22px;}
.reviews-gallery__grid-photos{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
.reviews-gallery__photo{display:block;aspect-ratio:1/1;border-radius:var(--rd-radius);background-size:cover;background-position:center;}
@media (max-width:900px){
	.reviews-gallery__grid{grid-template-columns:1fr;}
	.reviews-gallery__grid-photos{grid-template-columns:repeat(3,1fr);}
}

/* ------------------------------- Why ----------------------------------- */
.why__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;}
.why__item{text-align:center;color:#fff;}
.why__ic{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1;width:60px;height:60px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.22);border-radius:16px;font-size:22px;color:var(--rd-green);margin-bottom:20px;transition:background .25s,border-color .25s,transform .25s;}
.why__item:hover .why__ic{background:var(--rd-green);color:#fff;border-color:var(--rd-green);transform:translateY(-2px);}
.why__item h3{color:#fff;font-size:19px;margin-bottom:8px;}
.why__item p{color:rgba(255,255,255,.72);font-size:15px;}

/* --------------------------- Range highlight rows ---------------------- */
.rangerow__inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.rangerow--flip .rangerow__media{order:2;}
.rangerow__media{min-height:440px;border-radius:var(--rd-radius);background-size:cover;background-position:center;box-shadow:var(--rd-shadow);}
.rangerow__eyebrow{display:block;font-family:var(--rd-display);font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--rd-green-deep);margin-bottom:14px;}
.rangerow__title{font-size:clamp(28px,3.4vw,42px);margin-bottom:16px;}
.rangerow__desc{font-size:18px;color:var(--rd-muted);}
.rangerow__list{list-style:none;margin:20px 0 30px;padding:0;}
.rangerow__list li{position:relative;padding-left:30px;margin-bottom:12px;color:var(--rd-ink);}
.rangerow__list li::before{content:"";position:absolute;left:0;top:8px;width:14px;height:8px;border-left:2px solid var(--rd-green);border-bottom:2px solid var(--rd-green);transform:rotate(-45deg);}

/* --------------------------- Calculator CTA ---------------------------- */
.calc-cta{background:var(--rd-cream);}
.calc-cta__card{
	display:grid;grid-template-columns:auto 1.3fr 1fr;gap:44px;align-items:center;
	background:#fff;border:1px solid var(--rd-line);border-radius:calc(var(--rd-radius) * 2);
	padding:48px 52px;box-shadow:var(--rd-shadow);
}
.calc-cta__media{display:flex;}
.calc-cta__ic{display:grid;place-items:center;width:76px;height:76px;flex:0 0 auto;background:var(--rd-sand);color:var(--rd-green-deep);border-radius:50%;}
.calc-cta__ic .rd-ico{width:34px;height:34px;}
.calc-cta__text p{font-size:16px;line-height:1.6;color:var(--rd-muted);margin:14px 0 0;max-width:46ch;}
.calc-cta__action{display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.calc-cta__btn{width:100%;justify-content:center;text-align:center;white-space:nowrap;}

/* ----------------------------- Final CTA ------------------------------- */
.final-cta__inner{text-align:center;max-width:720px;margin:0 auto;}
.final-cta__actions{display:flex;gap:16px;justify-content:center;margin-top:28px;flex-wrap:wrap;}

/* ------------------------- Page hero / content ------------------------- */
.page-hero{background:var(--rd-olive);color:#fff;padding:calc(var(--rd-header-h) + 56px) 0 56px;}
/* Category hero: show the range's decking photo instead of a flat colour. */
.page-hero--photo{position:relative;background-color:var(--rd-olive);background-size:cover;background-position:center;background-repeat:no-repeat;}
.page-hero--photo .page-hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,22,15,.86) 0%,rgba(20,22,15,.6) 55%,rgba(20,22,15,.3) 100%);}
.page-hero--photo>.container{position:relative;z-index:1;}
.page-hero__title{color:#fff;font-size:clamp(30px,4.5vw,52px);margin:0;}
.page-hero__meta{color:rgba(255,255,255,.7);font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;}
.page-narrow{max-width:820px;}
.page-content{padding-top:56px;padding-bottom:80px;}
.page-content__thumb{margin-bottom:30px;border-radius:var(--rd-radius);overflow:hidden;}
.page-content img{border-radius:var(--rd-radius);}

/* ============================== Blog =================================== */
/* Hero */
.rd-blog__hero{background:var(--rd-olive);color:#fff;padding:calc(var(--rd-header-h) + 60px) 0 60px;}
.rd-blog__eyebrow{display:block;font-family:var(--rd-display);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:14px;}
.rd-blog__title{color:#fff;font-size:clamp(32px,4.5vw,54px);line-height:1.05;margin:0;}
.rd-blog__sub{color:rgba(255,255,255,.82);font-size:18px;line-height:1.6;max-width:640px;margin:16px 0 0;}
.rd-blog__search{display:flex;align-items:center;gap:10px;margin:26px 0 0;max-width:520px;position:relative;background:#fff;border-radius:var(--rd-radius);padding:6px 6px 6px 44px;}
.rd-blog__search-ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--rd-muted);display:flex;}
.rd-blog__search-ic .rd-ico{width:18px;height:18px;}
.rd-blog__search input{flex:1;min-width:0;border:none;background:none;font-family:var(--rd-font);font-size:15px;color:var(--rd-ink);padding:10px 0;}
.rd-blog__search input:focus{outline:none;}
.rd-blog__search .btn{flex:0 0 auto;padding:11px 20px;}

.rd-blog__inner{padding:48px 0 90px;}

/* Category filter chips */
.rd-blogchips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 36px;}
.rd-blogchips__chip{display:inline-flex;align-items:center;padding:9px 18px;border:1px solid var(--rd-line);border-radius:999px;background:#fff;font-family:var(--rd-display);font-weight:600;font-size:14px;color:var(--rd-ink);transition:background .2s,border-color .2s,color .2s;}
.rd-blogchips__chip:hover{border-color:var(--rd-green);color:var(--rd-green-deep);}
.rd-blogchips__chip.is-active{background:var(--rd-olive);border-color:var(--rd-olive);color:#fff;}

/* Feed: featured lead + grid */
.rd-blog__lead{margin-bottom:34px;}
.rd-blog__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.rd-blog__empty{padding:60px 0;text-align:center;color:var(--rd-muted);font-size:16px;}

/* Post card */
.rd-postcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--rd-line);border-radius:12px;overflow:hidden;transition:box-shadow .3s var(--rd-ease),transform .3s var(--rd-ease);}
.rd-postcard:hover{box-shadow:var(--rd-shadow);transform:translateY(-4px);}
.rd-postcard__thumb{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--rd-sand);}
.rd-postcard__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--rd-ease);}
.rd-postcard:hover .rd-postcard__thumb img{transform:scale(1.05);}
.rd-postcard__thumb-fallback{position:absolute;inset:0;display:grid;place-items:center;color:var(--rd-line);}
.rd-postcard__thumb-fallback .rd-ico{width:46px;height:46px;}
.rd-postcard__cat{position:absolute;top:14px;left:14px;background:rgba(22,21,15,.86);color:#fff;font-family:var(--rd-display);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:999px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);}
.rd-postcard__body{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px;}
.rd-postcard__title{font-family:var(--rd-display);font-size:20px;line-height:1.25;margin:12px 0 0;color:var(--rd-ink);}
.rd-postcard__title a{color:inherit;}
.rd-postcard__title a:hover{color:var(--rd-green-deep);}
.rd-postcard__excerpt{font-size:14.5px;color:var(--rd-muted);line-height:1.6;margin:12px 0 0;}
.rd-postcard__more{display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:18px;font-family:var(--rd-display);font-weight:700;font-size:13.5px;color:var(--rd-green-deep);}
.rd-postcard__more .rd-ico{width:16px;height:16px;transition:transform .25s;}
.rd-postcard__more:hover .rd-ico{transform:translateX(4px);}

/* Featured lead card: image left, text right */
.rd-postcard--featured{flex-direction:row;align-items:stretch;}
.rd-postcard--featured .rd-postcard__thumb{flex:0 0 55%;aspect-ratio:auto;}
.rd-postcard--featured .rd-postcard__body{padding:36px 40px;justify-content:center;}
.rd-postcard--featured .rd-postcard__title{font-size:clamp(24px,2.4vw,32px);}
.rd-postcard--featured .rd-postcard__excerpt{font-size:16px;}

/* Post meta row */
.rd-postmeta{display:flex;flex-wrap:wrap;gap:16px;list-style:none;margin:0;padding:0;}
.rd-postmeta__item{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--rd-muted);}
.rd-postmeta__item .rd-ico{width:14px;height:14px;color:var(--rd-green-deep);}

/* Pagination */
.rd-blog__pagination{margin-top:50px;}
.rd-blog__pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;}
.rd-blog__pagination .page-numbers{display:inline-flex;align-items:center;gap:6px;min-width:44px;height:44px;padding:0 14px;justify-content:center;border:1px solid var(--rd-line);border-radius:var(--rd-radius);background:#fff;font-family:var(--rd-display);font-weight:700;font-size:14px;color:var(--rd-ink);transition:background .2s,border-color .2s,color .2s;}
.rd-blog__pagination .page-numbers:hover{border-color:var(--rd-green);color:var(--rd-green-deep);}
.rd-blog__pagination .page-numbers.current{background:var(--rd-olive);border-color:var(--rd-olive);color:#fff;}
.rd-blog__pagination .page-numbers.dots{border:none;background:none;}
.rd-blog__pagination .page-numbers .rd-ico{width:16px;height:16px;}

/* Shop / category pagination (WooCommerce's ul.page-numbers) — same look as
   the blog pagination. Selectors include .woocommerce to beat woocommerce.css. */
.woocommerce nav.woocommerce-pagination{margin:44px 0 0;text-align:center;}
.woocommerce nav.woocommerce-pagination ul.page-numbers{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;list-style:none;margin:0;padding:0;border:0;}
.woocommerce nav.woocommerce-pagination ul.page-numbers li{display:block;float:none;margin:0;padding:0;border:0;overflow:visible;}
.woocommerce nav.woocommerce-pagination ul.page-numbers li::before,
.woocommerce nav.woocommerce-pagination ul.page-numbers li::marker{content:none;}
.woocommerce nav.woocommerce-pagination ul.page-numbers li .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;border:1px solid var(--rd-line);border-radius:var(--rd-radius);background:#fff;font-family:var(--rd-display);font-weight:700;font-size:14px;line-height:1;color:var(--rd-ink);text-decoration:none;transition:background .2s,border-color .2s,color .2s;}
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers:hover,
.woocommerce nav.woocommerce-pagination ul.page-numbers li a.page-numbers:focus-visible{background:#fff;border-color:var(--rd-green);color:var(--rd-green-deep);}
.woocommerce nav.woocommerce-pagination ul.page-numbers li span.current{background:var(--rd-olive);border-color:var(--rd-olive);color:#fff;}
.woocommerce nav.woocommerce-pagination ul.page-numbers li .dots{border:none;background:none;min-width:auto;padding:0 4px;}

/* ---------------------------- Single article -------------------------- */
/* Reading progress: a hairline under the fixed header. */
.rd-post__progress{position:fixed;top:var(--rd-header-h);left:0;right:0;height:3px;background:rgba(22,21,15,.08);z-index:999;pointer-events:none;}
.rd-post__progress-bar{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--rd-green),var(--rd-tan));transform-origin:left center;transition:width .1s linear;}

/* ---- Split editorial hero: copy left, feature image right ---- */
.rd-post__hero{position:relative;overflow:hidden;background:var(--rd-olive);color:#fff;padding:calc(var(--rd-header-h) + 60px) 0 64px;}
.rd-post__hero-glow{position:absolute;inset:0;pointer-events:none;background:
	radial-gradient(70% 90% at 88% 10%,rgba(201,154,99,.28),transparent 60%),
	radial-gradient(60% 80% at 0% 100%,rgba(47,158,47,.20),transparent 62%);}
.rd-post__hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,72px);align-items:center;}
.rd-post__hero:not(.rd-post__hero--media) .rd-post__hero-inner{grid-template-columns:minmax(0,1fr);max-width:900px;}
.rd-post__hero-copy{min-width:0;}

.rd-post__crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;color:rgba(255,255,255,.55);margin-bottom:26px;}
.rd-post__crumbs a{color:rgba(255,255,255,.72);}
.rd-post__crumbs a:hover{color:#fff;}

.rd-post__kicker{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:18px;}
.rd-post__cat{display:inline-flex;align-items:center;background:var(--rd-green);color:#fff;font-family:var(--rd-display);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:7px 14px;border-radius:999px;transition:background .2s;}
.rd-post__cat:hover{background:#fff;color:var(--rd-olive);}
.rd-post__readtime{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.7);}
.rd-post__readtime .rd-ico{width:15px;height:15px;color:var(--rd-tan);}

.rd-post__title{color:#fff;font-size:clamp(31px,3.7vw,52px);line-height:1.06;letter-spacing:-.02em;margin:0;text-wrap:balance;}
.rd-post__lead{color:rgba(255,255,255,.82);font-size:clamp(16.5px,1.3vw,19px);line-height:1.6;max-width:56ch;margin:20px 0 0;}

.rd-post__byline{display:flex;align-items:center;gap:13px;margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.16);}
.rd-post__byline-avatar img{width:44px;height:44px;border-radius:50%;display:block;box-shadow:0 0 0 2px rgba(255,255,255,.18);}
.rd-post__byline-text{min-width:0;}
.rd-post__byline-name{display:block;font-family:var(--rd-display);font-size:15px;font-weight:700;color:#fff;}
.rd-post__byline-date{display:block;font-size:13px;color:rgba(255,255,255,.62);}

.rd-post__hero-media{margin:0;border-radius:18px;overflow:hidden;box-shadow:0 30px 70px rgba(8,7,5,.42);}
.rd-post__hero-media img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}

/* ---- Body: sticky rail on the left, measure-limited article on the right ---- */
.rd-post__layout{display:grid;grid-template-columns:268px minmax(0,1fr);gap:clamp(36px,4.5vw,72px);align-items:start;padding-top:56px;}
.rd-post__main{min-width:0;max-width:76ch;padding-bottom:16px;}

.rd-post__content{font-size:18px;line-height:1.78;color:#2f2d26;}
.rd-post__content > *{margin-bottom:1.45em;}
.rd-post__content > *:last-child{margin-bottom:0;}
/* Opening paragraph gets a little editorial lift. */
.rd-post__content > p:first-of-type{font-size:1.12em;line-height:1.66;color:#221f19;}
.rd-post__content h2{font-family:var(--rd-display);font-size:clamp(25px,2.3vw,34px);line-height:1.15;letter-spacing:-.015em;margin:1.9em 0 .55em;padding-top:.1em;color:var(--rd-ink);scroll-margin-top:calc(var(--rd-header-h) + 28px);}
.rd-post__content h2::before{content:"";display:block;width:44px;height:3px;background:var(--rd-green);border-radius:2px;margin-bottom:.55em;}
.rd-post__content h3{font-family:var(--rd-display);font-size:clamp(19px,1.5vw,23px);line-height:1.25;margin:1.6em 0 .5em;color:var(--rd-ink);scroll-margin-top:calc(var(--rd-header-h) + 28px);}
.rd-post__content h4{font-family:var(--rd-display);font-size:17px;margin:1.4em 0 .4em;color:var(--rd-ink);}
.rd-post__content a{color:var(--rd-green-deep);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s;}
.rd-post__content a:hover{color:var(--rd-ink);}
.rd-post__content img{border-radius:14px;height:auto;}
.rd-post__content figure{margin:2em 0;}
.rd-post__content figcaption{font-size:13px;color:var(--rd-muted);margin-top:10px;padding-left:14px;border-left:2px solid var(--rd-tan);}
.rd-post__content blockquote{position:relative;margin:2em 0;padding:30px 32px 26px;background:var(--rd-sand);border-radius:16px;border-left:3px solid var(--rd-green);font-family:var(--rd-display);font-size:clamp(18px,1.6vw,22px);line-height:1.5;font-weight:600;color:var(--rd-ink);}
.rd-post__content blockquote::before{content:"\201C";position:absolute;top:2px;right:22px;font-size:76px;line-height:1;color:rgba(47,158,47,.22);font-family:Georgia,serif;}
.rd-post__content blockquote p:last-child{margin-bottom:0;}
.rd-post__content blockquote cite{display:block;margin-top:12px;font-size:13.5px;font-weight:500;font-style:normal;color:var(--rd-muted);}
.rd-post__content ul,.rd-post__content ol{padding-left:1.35em;}
.rd-post__content li{margin-bottom:.55em;}
.rd-post__content ul li::marker{color:var(--rd-green);}
.rd-post__content ol li::marker{color:var(--rd-green-deep);font-weight:700;}
.rd-post__content hr{border:none;height:1px;background:var(--rd-line);margin:2.6em 0;}
.rd-post__content table{width:100%;border-collapse:collapse;font-size:15.5px;}
.rd-post__content th,.rd-post__content td{padding:12px 14px;border:1px solid var(--rd-line);text-align:left;}
.rd-post__content th{background:var(--rd-sand);font-family:var(--rd-display);font-weight:700;}
.rd-post__content code{background:var(--rd-sand);padding:2px 7px;border-radius:5px;font-size:.88em;}
.rd-post__content pre{background:var(--rd-ink);color:#f4f1ea;padding:22px 24px;border-radius:14px;overflow:auto;font-size:14.5px;}
.rd-post__content pre code{background:none;padding:0;}
.rd-post__pages{font-size:14px;color:var(--rd-muted);}

/* Article footer: tags + share on one line */
.rd-post__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin-top:48px;padding-top:26px;border-top:1px solid var(--rd-line);}
.rd-post__tags{display:flex;flex-wrap:wrap;align-items:center;gap:9px;}
.rd-post__tags-label{display:flex;color:var(--rd-muted);}
.rd-post__tags-label .rd-ico{width:17px;height:17px;}
.rd-post__tag{font-size:13px;font-weight:600;color:var(--rd-green-deep);background:var(--rd-sand);padding:6px 13px;border-radius:999px;transition:background .2s,color .2s;}
.rd-post__tag:hover{background:var(--rd-green-deep);color:#fff;}

/* Author card */
.rd-post__author{display:flex;gap:22px;align-items:flex-start;margin-top:40px;padding:30px;background:var(--rd-sand);border-radius:18px;border:1px solid var(--rd-line);}
.rd-post__author-avatar img{width:78px;height:78px;border-radius:50%;display:block;box-shadow:0 0 0 3px #fff;}
.rd-post__author-body{min-width:0;}
.rd-post__author-label{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rd-muted);margin-bottom:4px;}
.rd-post__author-name{display:block;font-family:var(--rd-display);font-size:20px;color:var(--rd-ink);}
.rd-post__author-bio{margin:9px 0 0;font-size:15px;color:#5f5a51;line-height:1.65;}
.rd-post__author-more{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-family:var(--rd-display);font-weight:700;font-size:13px;color:var(--rd-green-deep);}
.rd-post__author-more .rd-ico{width:16px;height:16px;transition:transform .25s;}
.rd-post__author-more:hover .rd-ico{transform:translateX(4px);}

.rd-post__comments{padding-top:40px;}
.rd-post__comments .rd-comments{margin-top:0;}
/* No comments yet: the form is the only child, so it shouldn't stack a second
   rule under the wrapper's own top border. */
.rd-comments > .rd-comment-form:first-child{margin-top:0;padding-top:0;border-top:none;}

/* ---- Sticky left rail: table of contents + share ---- */
.rd-post__rail-inner{position:sticky;top:calc(var(--rd-header-h) + 28px);display:flex;flex-direction:column;gap:18px;}
.rd-toc__summary{display:flex;align-items:center;gap:9px;list-style:none;cursor:pointer;font-family:var(--rd-display);font-weight:800;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--rd-muted);margin-bottom:14px;}
.rd-toc__summary::-webkit-details-marker{display:none;}
.rd-toc__summary .rd-ico{width:15px;height:15px;color:var(--rd-green-deep);flex:0 0 auto;}
.rd-toc__caret{margin-left:auto;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .25s var(--rd-ease);}
.rd-toc[open] .rd-toc__caret{transform:rotate(-135deg);}
/* The indicator line is drawn by each link's own left border, so the list
   stays free of negative margins that a scroll container would clip. */
.rd-toc__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;max-height:min(56vh,520px);overflow-y:auto;}
.rd-toc__item a{display:block;padding:8px 4px 8px 18px;border-left:2px solid var(--rd-line);font-size:14px;line-height:1.4;color:var(--rd-muted);transition:color .2s,border-color .2s,background .2s;}
.rd-toc__item a:hover{color:var(--rd-ink);border-left-color:var(--rd-muted);}
.rd-toc__item.is-active > a{color:var(--rd-green-deep);border-left-color:var(--rd-green);font-weight:700;}
.rd-toc__item--h3 a{padding-left:32px;font-size:13.5px;}

.rd-share{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.rd-share__label{font-family:var(--rd-display);font-weight:800;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--rd-muted);}
.rd-share__btn{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;color:var(--rd-ink);border:1px solid var(--rd-line);cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s;}
.rd-share__btn .rd-ico{width:16px;height:16px;}
.rd-share__btn:hover{background:var(--rd-olive);border-color:var(--rd-olive);color:#fff;transform:translateY(-2px);}
.rd-share__btn.is-copied{background:var(--rd-green);border-color:var(--rd-green);color:#fff;}
.rd-share--rail{padding-top:20px;border-top:1px solid var(--rd-line);}
.rd-share--rail .rd-share__label{flex:1 1 100%;margin-bottom:2px;}
.rd-share--inline{gap:9px;}

/* ---- Conversion band ---- */
.rd-post__cta{margin-top:72px;background:var(--rd-olive);color:#fff;padding:56px 0;position:relative;overflow:hidden;}
.rd-post__cta::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 100% at 100% 0%,rgba(201,154,99,.25),transparent 62%);}
.rd-post__cta-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:center;}
.rd-post__cta-ic{display:inline-grid;place-items:center;width:48px;height:48px;background:rgba(255,255,255,.12);color:#fff;border-radius:14px;margin-bottom:16px;}
.rd-post__cta-ic .rd-ico{width:24px;height:24px;}
.rd-post__cta-title{color:#fff;font-size:clamp(24px,2.5vw,34px);margin:0;letter-spacing:-.015em;}
.rd-post__cta-sub{color:rgba(255,255,255,.8);font-size:16px;line-height:1.6;max-width:56ch;margin:12px 0 0;}
.rd-post__cta-actions{display:flex;flex-wrap:wrap;gap:12px;}
.rd-post__cta .btn--fill{--bg:var(--rd-green);border-color:var(--rd-green);}

/* ---- Prev / next ---- */
/* padding-bottom matters here: when there's no related section after it
   (e.g. the post has no category, or too few siblings), this is the last
   thing before the footer and needs its own breathing room. */
.rd-post__nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:64px 0 70px;}
.rd-post__nav-link{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid var(--rd-line);border-radius:16px;background:#fff;transition:border-color .2s,box-shadow .25s,transform .25s;}
.rd-post__nav-link--empty{border:none;background:none;}
.rd-post__nav-link:hover{border-color:var(--rd-green);box-shadow:var(--rd-shadow);transform:translateY(-3px);}
.rd-post__nav-link--next{flex-direction:row-reverse;text-align:right;}
.rd-post__nav-thumb{flex:0 0 86px;width:86px;height:70px;border-radius:12px;overflow:hidden;background:var(--rd-sand);}
.rd-post__nav-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.rd-post__nav-body{min-width:0;}
.rd-post__nav-dir{display:inline-flex;align-items:center;gap:7px;font-family:var(--rd-display);font-weight:800;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--rd-green-deep);margin-bottom:6px;}
.rd-post__nav-link--next .rd-post__nav-dir{justify-content:flex-end;}
.rd-post__nav-dir .rd-ico{width:15px;height:15px;}
.rd-post__nav-title{display:block;font-family:var(--rd-display);font-weight:700;font-size:16px;color:var(--rd-ink);line-height:1.35;}

/* ---- Related ---- */
.rd-post__related{margin-top:72px;padding:64px 0 76px;background:var(--rd-sand);}
.rd-post__related-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:32px;}
.rd-post__related-title{font-family:var(--rd-display);font-size:clamp(24px,2.6vw,34px);margin:0;color:var(--rd-ink);}
.rd-post__related-all{display:inline-flex;align-items:center;gap:8px;font-family:var(--rd-display);font-weight:700;font-size:14px;color:var(--rd-green-deep);}
.rd-post__related-all .rd-ico{width:17px;height:17px;transition:transform .25s;}
.rd-post__related-all:hover .rd-ico{transform:translateX(4px);}

/* ---- Comments ---- */
.rd-comments{margin-top:26px;padding-top:36px;border-top:1px solid var(--rd-line);}
.rd-comments__title{font-family:var(--rd-display);font-size:22px;margin:0 0 24px;color:var(--rd-ink);}
.rd-comments__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px;}
.rd-comments__list .children{list-style:none;margin:20px 0 0;padding:0 0 0 40px;display:flex;flex-direction:column;gap:20px;}
.rd-comment__inner{display:flex;gap:14px;align-items:flex-start;}
.rd-comment__avatar img{width:48px;height:48px;border-radius:50%;display:block;}
.rd-comment__body{flex:1;min-width:0;background:var(--rd-sand);border-radius:12px;padding:16px 18px;}
.rd-comment__head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:6px;}
.rd-comment__author{font-family:var(--rd-display);font-size:14.5px;color:var(--rd-ink);}
.rd-comment__date a{font-size:12px;color:var(--rd-muted);}
.rd-comment__date a:hover{color:var(--rd-green-deep);}
.rd-comment__pending{font-size:12.5px;color:#a06a1a;font-style:italic;margin:0 0 6px;}
.rd-comment__text{font-size:14.5px;line-height:1.65;color:#2c2a24;}
.rd-comment__text p:last-child{margin-bottom:0;}
.rd-comment__reply{margin-top:8px;}
.rd-comment__reply a{font-family:var(--rd-display);font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--rd-green-deep);}
.rd-comment__reply a:hover{color:var(--rd-ink);}
.rd-comments__pagination{display:flex;justify-content:space-between;margin-top:24px;font-size:13.5px;}
.rd-comments__pagination a{color:var(--rd-green-deep);font-weight:600;}
.rd-comments__closed{padding:16px 0;color:var(--rd-muted);font-size:14px;}

.rd-comment-form{margin-top:36px;padding-top:30px;border-top:1px solid var(--rd-line);}
.rd-comment-form__title{font-family:var(--rd-display);font-size:22px;margin:0 0 6px;color:var(--rd-ink);}
.rd-comment-form__note{font-size:13px;color:var(--rd-muted);margin:0 0 20px;}
.rd-comment-form .comment-form{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;}
.rd-comment-form .comment-form-comment{grid-column:1 / -1;}
.rd-comment-form .comment-form-author,.rd-comment-form .comment-form-email{grid-column:span 1;}
.rd-comment-form .comment-form-url,.rd-comment-form .comment-form-cookies-consent,.rd-comment-form .form-submit{grid-column:1 / -1;}
.rd-comment-form .comment-notes,.rd-comment-form .logged-in-as{grid-column:1 / -1;font-size:13px;color:var(--rd-muted);margin:0 0 16px;}
.rd-comment-form .comment-form-cookies-consent{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--rd-muted);margin:4px 0 18px;}
.rd-comment-form .comment-form-cookies-consent input{margin-top:3px;}
.rd-comment-form .form-submit{margin-top:6px;}
.rd-comment-form .form-submit input[type="submit"]{border:none;font-family:var(--rd-display);}

/* Blog responsive */
@media (max-width:1180px){
	.rd-post__layout{grid-template-columns:232px minmax(0,1fr);gap:36px;}
}
@media (max-width:980px){
	.rd-blog__grid{grid-template-columns:repeat(2,1fr);gap:22px;}
	.rd-postcard--featured{flex-direction:column;}
	.rd-postcard--featured .rd-postcard__thumb{flex:none;width:100%;aspect-ratio:16/10;}
	.rd-postcard--featured .rd-postcard__body{padding:24px;}

	/* Hero stacks: copy first, image below. */
	.rd-post__hero{padding:calc(var(--rd-header-h) + 40px) 0 44px;}
	.rd-post__hero-inner,
	.rd-post__hero--media .rd-post__hero-inner{grid-template-columns:minmax(0,1fr);gap:32px;}
	.rd-post__hero-media img{aspect-ratio:16/9;}

	/* Rail moves above the article body — the jump-to list collapses into a
	   disclosure so it costs a single line until it's wanted. */
	.rd-post__layout{grid-template-columns:minmax(0,1fr);gap:0;padding-top:36px;}
	.rd-post__rail{order:-1;margin-bottom:28px;}
	.rd-post__rail-inner{position:static;gap:16px;}
	.rd-toc{border-left:none;padding:16px 18px;background:var(--rd-sand);border-radius:14px;}
	.rd-toc__summary{margin-bottom:0;}
	.rd-toc[open] .rd-toc__summary{margin-bottom:14px;}
	.rd-share--rail{border-top:none;padding-top:0;}
	.rd-share--rail .rd-share__label{flex:0 0 auto;}
	.rd-post__main{max-width:none;}
	.rd-post__cta-inner{grid-template-columns:minmax(0,1fr);gap:26px;}
}
@media (max-width:640px){
	.rd-blog__grid{grid-template-columns:1fr;}
	.rd-blog__inner{padding:32px 0 64px;}
	.rd-post__progress{height:2px;}
	.rd-post__byline{flex-wrap:wrap;}
	.rd-post__hero-media{border-radius:12px;}
	.rd-post__content{font-size:16.5px;}
	.rd-post__content blockquote{padding:24px 22px 20px;}
	.rd-post__content blockquote::before{font-size:56px;right:14px;}
	.rd-post__foot{flex-direction:column;align-items:flex-start;}
	.rd-post__author{flex-direction:column;gap:16px;padding:24px;}
	.rd-post__cta{margin-top:52px;padding:44px 0;}
	.rd-post__cta-actions .btn{flex:1 1 100%;}
	.rd-post__nav{grid-template-columns:1fr;padding-top:44px;}
	.rd-post__nav-link--next{flex-direction:row;text-align:left;}
	.rd-post__nav-link--next .rd-post__nav-dir{justify-content:flex-start;}
	.rd-post__related{margin-top:52px;padding:44px 0 56px;}
	.rd-comment-form .comment-form{grid-template-columns:1fr;}
	.rd-comments__list .children{padding-left:20px;}
}
/* Legacy page-content prose (static pages) */
.page-content{padding-top:56px;padding-bottom:80px;font-size:17px;line-height:1.75;color:#2c2a24;}
.page-content h2{font-family:var(--rd-display);font-size:28px;margin:1.4em 0 .5em;color:var(--rd-ink);}
.page-content h3{font-family:var(--rd-display);font-size:22px;margin:1.2em 0 .4em;color:var(--rd-ink);}
.page-content a{color:var(--rd-green-deep);text-decoration:underline;}

/* ------------------------------- Footer -------------------------------- */
.site-footer{background:var(--rd-ink);color:rgba(255,255,255,.72);padding:70px 0 30px;}
.site-footer__top{display:grid;grid-template-columns:1.2fr 2fr;gap:56px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.12);}
/* !important matches .site-brand__logo's guard above: WooCommerce's
   `.woocommerce-page img{height:auto;max-width:100%}` (class+tag) outranks a
   single class selector on any shop/category/product page and was cancelling
   the fixed height, so the logo rendered at its full 1254x650 file size. */
.footer-brand__logo{height:56px!important;width:auto!important;max-width:220px;margin-bottom:18px;}
.footer-brand__tag{font-size:15px;max-width:340px;}
.footer-brand__cities{font-family:var(--rd-display);font-weight:600;color:#fff;letter-spacing:.02em;}
.footer-social{display:flex;gap:18px;margin-top:16px;}
.footer-social a{color:rgba(255,255,255,.8);font-family:var(--rd-display);font-weight:600;font-size:14px;letter-spacing:.03em;transition:color .25s;}
.footer-social a:hover{color:var(--rd-green);}
.footer-cols{display:grid;grid-template-columns:repeat(5,1fr);gap:26px;}
.footer-col__title{color:#fff;font-size:14px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;}
.footer-col ul{list-style:none;margin:0;padding:0;}
.footer-col li{margin-bottom:10px;}
.footer-col a{color:rgba(255,255,255,.7);font-size:15px;transition:color .25s;}
.footer-col a:hover{color:#fff;}
.footer-contact li{display:flex;flex-direction:column;gap:3px;margin-bottom:14px;}
.footer-contact span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45);}
.footer-col__soon{color:rgba(255,255,255,.4);font-size:15px;cursor:default;}
.footer-contact a{color:#fff;font-family:var(--rd-display);font-weight:600;font-size:15px;}
.site-footer__bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;font-size:14px;flex-wrap:wrap;gap:10px;}
.site-footer__legal{display:flex;gap:20px;margin:0;}
.site-footer__legal a{color:rgba(255,255,255,.6);}

/* Floating WhatsApp */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:900;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 10px 26px rgba(0,0,0,.28);transition:transform .3s,box-shadow .3s;}
.wa-float:hover{transform:scale(1.08);box-shadow:0 14px 32px rgba(37,211,102,.45);}
.wa-float__icon{display:block;}

/* ---------------------------- WooCommerce ------------------------------ */
.shop-main{padding:calc(var(--rd-header-h) + 40px) 0 80px;}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{margin-bottom:36px;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--rd-display);font-weight:700;}
.woocommerce span.price,.woocommerce div.product p.price{color:var(--rd-ink);font-weight:700;}
.woocommerce a.button,.woocommerce button.button,.woocommerce .button,.woocommerce #respond input#submit{
	background:var(--rd-olive)!important;color:#fff!important;border-radius:var(--rd-radius)!important;
	font-family:var(--rd-display);font-weight:700;letter-spacing:.05em;text-transform:uppercase;
	padding:12px 22px!important;transition:background .3s!important;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce .button:hover{background:var(--rd-green-deep)!important;}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info{border-top-color:var(--rd-green);}

/* --------------------------- Responsive -------------------------------- */
@media (max-width:1080px){
	.main-nav,.header-contact{display:none;}
	.nav-toggle{display:flex;}
	.mega__inner{grid-template-columns:1fr;}
	.collections__grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px;}
	.collection-card,.collection-card--feature{grid-column:span 1;grid-row:span 1;}
	.why__grid{grid-template-columns:repeat(2,1fr);}
	.rangerow__inner{grid-template-columns:1fr;gap:30px;}
	.rangerow--flip .rangerow__media{order:0;}
	.rangerow__media{min-height:300px;}
	.calc-cta__card{grid-template-columns:1fr;gap:26px;padding:36px 30px;text-align:center;}
	.calc-cta__media{justify-content:center;}
	.calc-cta__action{align-items:center;width:100%;}
	.calc-cta__btn{max-width:320px;}
	.calc-cta__text p{margin-left:auto;margin-right:auto;}
	.site-footer__top{grid-template-columns:1fr;gap:36px;}
	.footer-cols{grid-template-columns:repeat(3,1fr);}
	.post-list{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
	body{font-size:16px;}
	:root{--rd-header-h:72px;}
	.section{padding:60px 0;}
	.hero{min-height:92vh;}
	.hero__scrim{background:linear-gradient(to top,rgba(8,7,5,.85),rgba(8,7,5,.25) 60%),rgba(8,7,5,.25);}
	.hero__actions{flex-wrap:wrap;}
	.hero__actions .btn--hero{flex:1 1 100%;}
	.trustbar__inner{grid-template-columns:1fr 1fr;gap:16px;}
	.collections__grid{grid-template-columns:1fr;grid-auto-rows:200px;}
	.why__grid{grid-template-columns:1fr;}
	.footer-cols{grid-template-columns:1fr;}
	.post-list{grid-template-columns:1fr;}
	.header-cta .btn__label,.header-cta span{font-size:12px;}
	.header-actions{gap:10px;}
	.container{padding-left:16px;padding-right:16px;}
	.wa-float{right:14px;bottom:14px;width:50px;height:50px;}
}
@media (max-width:420px){
	.site-brand__logo{height:44px!important;}
	.header-cta{padding:9px 14px;}
	.header-cta span{font-size:11px;}
	.hero__title{font-size:clamp(32px,10vw,42px);}
	.hero__lead{font-size:15px;}
	.section__title{font-size:clamp(24px,7vw,32px);}
	.trustbar__inner{grid-template-columns:1fr;}
	.footer-brand__cities{font-size:13px;}
}

/* --------------------------- Scroll reveal ----------------------------- */
.rd-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--rd-ease),transform .7s var(--rd-ease);}
.rd-reveal.is-visible{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
	.rd-reveal{opacity:1!important;transform:none!important;}
	*{scroll-behavior:auto!important;}
}

/* =============================== Calculator ============================= */
.rd-calc{margin:0 auto;}
.rd-calc__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:start;}
.rd-calc__title{font-size:clamp(28px,3.4vw,40px);margin-bottom:10px;}
.rd-calc__intro{color:var(--rd-muted);margin-bottom:26px;}
.rd-calc__row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.rd-field{display:block;margin-bottom:20px;}
.rd-field__label{display:block;font-family:var(--rd-display);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--rd-muted);margin-bottom:8px;}
.rd-field__label i{color:var(--rd-green);font-style:normal;}
.rd-field input,.rd-field select,.rd-field textarea{width:100%;padding:13px 14px;border:1px solid var(--rd-line);border-radius:var(--rd-radius);font-family:var(--rd-font);font-size:16px;background:#fff;color:var(--rd-ink);transition:border-color .2s;}
.rd-field input:focus,.rd-field select:focus,.rd-field textarea:focus{outline:none;border-color:var(--rd-green);box-shadow:0 0 0 3px rgba(47,158,47,.12);}
/* Searchable product select (combobox) */
.rd-combo{position:relative;}
.rd-combo__control{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 14px;border:1px solid var(--rd-line);border-radius:var(--rd-radius);background:#fff;color:var(--rd-ink);font-family:var(--rd-font);font-size:16px;cursor:pointer;text-align:left;transition:border-color .2s,box-shadow .2s;}
.rd-combo__control:hover{border-color:var(--rd-green);}
.rd-combo.is-open .rd-combo__control{border-color:var(--rd-green);box-shadow:0 0 0 3px rgba(47,158,47,.12);}
.rd-combo__selected{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rd-combo__caret{width:9px;height:9px;flex:0 0 auto;margin-left:10px;border-right:2px solid var(--rd-muted);border-bottom:2px solid var(--rd-muted);transform:rotate(45deg);transition:transform .25s;}
.rd-combo.is-open .rd-combo__caret{transform:rotate(-135deg);}
.rd-combo__pop{position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--rd-line);border-radius:var(--rd-radius);box-shadow:var(--rd-shadow);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility .2s;overflow:hidden;}
.rd-combo.is-open .rd-combo__pop{opacity:1;visibility:visible;transform:translateY(0);}
.rd-combo__search-wrap{padding:10px;border-bottom:1px solid var(--rd-line);}
.rd-combo__search{width:100%;padding:11px 12px;border:1px solid var(--rd-line);border-radius:var(--rd-radius);font-size:15px;font-family:var(--rd-font);}
.rd-combo__search:focus{outline:none;border-color:var(--rd-green);box-shadow:0 0 0 3px rgba(47,158,47,.12);}
.rd-combo__list{list-style:none;margin:0;padding:6px;max-height:320px;overflow-y:auto;}
.rd-combo__opt{display:flex;gap:12px;align-items:center;padding:9px 10px;border-radius:var(--rd-radius);cursor:pointer;transition:background .15s;}
.rd-combo__opt:hover{background:var(--rd-sand);}
.rd-combo__opt.is-active{background:var(--rd-olive);}
.rd-combo__opt.is-active .rd-combo__opt-name,.rd-combo__opt.is-active .rd-combo__opt-meta{color:#fff;}
.rd-combo__opt-img{width:46px;height:46px;flex:0 0 auto;border-radius:4px;background-size:cover;background-position:center;}
.rd-combo__opt-name{display:block;font-family:var(--rd-display);font-weight:600;font-size:14px;line-height:1.2;}
.rd-combo__opt-meta{display:block;font-size:12px;color:var(--rd-muted);margin-top:3px;}
.rd-combo__empty{padding:16px 12px;color:var(--rd-muted);font-size:14px;}

/* Selected product preview */
.rd-selected{display:flex;gap:14px;align-items:center;margin-top:14px;padding:12px;border:1px solid var(--rd-line);border-radius:var(--rd-radius);background:var(--rd-sand);}
.rd-selected__img{width:60px;height:60px;flex:0 0 auto;border-radius:4px;background-size:cover;background-position:center;}
.rd-selected__body{flex:1;min-width:0;}
.rd-selected__name{display:block;font-family:var(--rd-display);font-weight:700;font-size:15px;}
.rd-selected__meta{display:block;font-size:13px;color:var(--rd-muted);margin-top:2px;}
.rd-selected__view{flex:0 0 auto;font-family:var(--rd-display);font-weight:700;font-size:13px;color:var(--rd-green-deep);}
.rd-selected__view:hover{color:var(--rd-ink);}
.rd-calc__result{background:var(--rd-sand);border-radius:var(--rd-radius);padding:30px;position:sticky;top:100px;}
.rd-calc__result-title{font-size:24px;margin-bottom:18px;}
.rd-calc__lines{border-top:1px solid var(--rd-line);}
.rd-calc__line{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--rd-line);}
.rd-calc__line span{color:var(--rd-muted);font-size:15px;}
.rd-calc__line strong{font-family:var(--rd-display);font-size:16px;}
.rd-calc__line--total strong,.rd-calc__line--grand strong{font-size:20px;}
.rd-calc__line--grand span,.rd-calc__line--grand strong{color:var(--rd-ink);}
.rd-calc__actions{display:grid;gap:10px;margin:24px 0 4px;}
.rd-act{width:100%;gap:.5em;}
.rd-act__ic{font-size:16px;line-height:1;}
.btn.is-disabled,.btn:disabled,.btn[disabled]{opacity:.45;pointer-events:none;filter:grayscale(.3);cursor:not-allowed;}
.rd-calc__empty{color:var(--rd-muted);}

/* ================================ Forms ================================= */
.rd-form{max-width:760px;}
.rd-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;}
.rd-alert{padding:16px 20px;border-radius:var(--rd-radius);margin-bottom:24px;font-weight:500;}
.rd-alert--ok{background:#e8f6e8;color:#1c6b1c;border:1px solid #b8e0b8;}
.rd-alert--err{background:#fdeceb;color:#8a2a24;border:1px solid #f2c4c0;}

/* Section content wrapper for pages using shortcodes */
.rd-section{padding:calc(var(--rd-header-h) + 40px) 0 90px;}
.rd-lead{font-size:20px;color:var(--rd-muted);max-width:720px;}

@media (max-width:900px){
	.rd-calc__grid{grid-template-columns:1fr;}
	.rd-calc__result{position:static;}
	.rd-form__grid{grid-template-columns:1fr;}
}
@media (max-width:520px){
	.rd-calc__products{grid-template-columns:1fr;}
	.rd-calc__row{grid-template-columns:1fr;}
}

/* =============================== Samples =============================== */
.rd-samples__paths{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:44px;}
.rd-samples__path{border:1px solid var(--rd-line);border-radius:var(--rd-radius);padding:24px;display:flex;flex-direction:column;gap:4px;}
.rd-samples__ic{font-size:26px;color:var(--rd-green);}
.rd-samples__path strong{font-family:var(--rd-display);font-size:20px;}
.rd-samples__path em{font-style:normal;color:var(--rd-muted);}
.rd-sample-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0 10px;}
.rd-sample-card{position:relative;border:1px solid var(--rd-line);border-radius:var(--rd-radius);overflow:hidden;cursor:pointer;background:#fff;transition:box-shadow .2s,transform .2s,border-color .2s;}
.rd-sample-card:hover{transform:translateY(-2px);box-shadow:var(--rd-shadow);}
.rd-sample-card input{position:absolute;opacity:0;}
.rd-sample-card__img{display:block;aspect-ratio:1/1;background-size:cover;background-position:center;}
.rd-sample-card__name{display:block;padding:12px;font-family:var(--rd-display);font-weight:600;font-size:14px;}
.rd-sample-card__check{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:50%;background:var(--rd-green);color:#fff;display:grid;place-items:center;opacity:0;transform:scale(.6);transition:opacity .2s,transform .2s;}
.rd-sample-card input:checked ~ .rd-sample-card__check{opacity:1;transform:scale(1);}
.rd-sample-card input:checked ~ .rd-sample-card__img{outline:3px solid var(--rd-green);outline-offset:-3px;}
@media (max-width:800px){.rd-sample-grid{grid-template-columns:repeat(2,1fr);}.rd-samples__paths{grid-template-columns:1fr;}}

.page-hero__lead{color:rgba(255,255,255,.82);font-size:19px;max-width:680px;margin:14px 0 0;}

/* ===================== WooCommerce cart & checkout (classic) ===================== */
.woocommerce-cart .rd-section,
.woocommerce-checkout .rd-section,
.woocommerce-account .rd-section{padding-top:56px;}
.woocommerce table.shop_table{border-radius:var(--rd-radius);border-color:var(--rd-line);}
.woocommerce table.shop_table th{font-family:var(--rd-display);}
.woocommerce .cart_totals h2,
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading{font-family:var(--rd-display);}
.woocommerce .cart-collaterals .cart_totals{border:1px solid var(--rd-line);border-radius:var(--rd-radius);padding:24px;background:var(--rd-sand);}
.woocommerce-cart .cart-collaterals .cart_totals table{background:transparent;}
/* Field styling for the classic WooCommerce screens (cart, account, plugin
   forms). Deliberately excluded from the redesigned checkout: these
   `!important` declarations used to win over the checkout's own field styles
   and drag the inputs back to the old radius and padding. */
body:not(.rd-checkout-screen) .woocommerce form .form-row input.input-text,
body:not(.rd-checkout-screen) .woocommerce form .form-row textarea,
body:not(.rd-checkout-screen) .woocommerce form .form-row select,
body:not(.rd-checkout-screen) .woocommerce .select2-container .select2-selection{
	border:1px solid var(--rd-line)!important;border-radius:var(--rd-radius)!important;
	padding:12px 14px!important;font-family:var(--rd-font);min-height:46px;
}
.woocommerce #payment,
.woocommerce-checkout .woocommerce-checkout-review-order{border-radius:var(--rd-radius);}
.woocommerce #payment{background:var(--rd-sand);}
.woocommerce-info,.woocommerce-error{border-top-color:var(--rd-green)!important;border-radius:var(--rd-radius);}
/* Hide WooCommerce's "added to cart" success notice — the theme shows its own
   toast + cart drawer instead. Error/info notices stay visible. */
.woocommerce-message,ul.woocommerce-message,.wc-block-components-notice-banner.is-success{display:none!important;}
.woocommerce a.button.wc-backward,
.woocommerce .checkout-button{background:var(--rd-olive)!important;}
.woocommerce a.button.wc-backward:hover,
.woocommerce .checkout-button:hover{background:var(--rd-green-deep)!important;}
@media (min-width:783px){
	.woocommerce-cart .cart-collaterals{display:flex;justify-content:flex-end;}
	.woocommerce-cart .cart-collaterals .cart_totals{width:42%;}
}

/* Category hero actions (Calculate this range / Order Samples) */
.woo-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;}

/* Inline add-ons inside the PDP buy box (accessories without scrolling) */
.rd-pdp__addons{margin-top:18px;padding-top:18px;border-top:1px solid var(--rd-line);}
.rd-pdp__addons-lead{font-family:var(--rd-display);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--rd-ink);margin:0 0 12px;}
.rd-pdp__addon-list{display:flex;flex-direction:column;gap:10px;}
.rd-pdp__addon{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--rd-line);border-radius:12px;background:#fff;transition:border-color .2s,box-shadow .2s;}
.rd-pdp__addon.is-added{border-color:var(--rd-green);box-shadow:inset 0 0 0 1px var(--rd-green);}
.rd-pdp__addon-thumb{display:block;width:52px;height:52px;border-radius:8px;overflow:hidden;background:var(--rd-sand);}
.rd-pdp__addon-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.rd-pdp__addon-info{min-width:0;display:flex;flex-direction:column;gap:2px;}
.rd-pdp__addon-name{font-family:var(--rd-display);font-weight:600;font-size:14px;color:var(--rd-ink);line-height:1.3;}
.rd-pdp__addon-dims{font-size:12px;color:var(--rd-muted);}
.rd-pdp__addon-price{font-size:13px;font-weight:700;color:var(--rd-ink);}
.rd-pdp__addon-price em{font-style:normal;font-weight:400;color:var(--rd-muted);}
.rd-pdp__addons-note{margin:14px 0 0;font-size:13px;line-height:1.55;color:var(--rd-ink);}
.rd-pdp__addons-note strong{font-weight:700;}
.rd-pdp__addons-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:14px;padding:13px 16px;border:1px dashed var(--rd-line);border-radius:12px;background:var(--rd-sand);cursor:pointer;font-family:var(--rd-display);text-align:left;transition:border-color .2s,background .2s;}
.rd-pdp__addons-toggle:hover{border-color:var(--rd-green);}
.rd-pdp__addons-toggle-label{font-weight:700;font-size:13px;color:var(--rd-ink);}
.rd-pdp__addons-toggle-cta{font-weight:700;font-size:11px;color:var(--rd-green-deep);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;}
.rd-pdp__addons-toggle.is-open{background:#fff;}
.rd-pdp__addons-toggle.is-open .rd-pdp__addons-toggle-cta{color:var(--rd-muted);}
.rd-pdp__addon-more{margin-top:12px;}
.rd-pdp__addon-more[hidden]{display:none!important;}
/* Accessories browser: search + pagination */
.rd-pdp__acc-search{position:relative;display:flex;align-items:center;margin:0 0 12px;}
.rd-pdp__acc-search .rd-ico{position:absolute;left:12px;width:16px;height:16px;color:var(--rd-muted);pointer-events:none;}
.rd-pdp__acc-search-input{width:100%;padding:10px 14px 10px 36px;border:1px solid var(--rd-line);border-radius:10px;font-size:14px;font-family:var(--rd-font);background:#fff;color:var(--rd-ink);}
.rd-pdp__acc-search-input:focus{outline:none;border-color:var(--rd-green);box-shadow:0 0 0 3px rgba(47,158,47,.12);}
.rd-pdp__acc-empty{font-size:13px;color:var(--rd-muted);text-align:center;margin:12px 0 0;}
.rd-pdp__acc-empty[hidden]{display:none!important;}
.rd-pdp__acc-pager{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:12px;}
.rd-pdp__acc-pager[hidden]{display:none!important;}
.rd-pdp__acc-page{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--rd-line);background:#fff;border-radius:8px;cursor:pointer;font-size:17px;line-height:1;color:var(--rd-ink);transition:background .2s,border-color .2s;}
.rd-pdp__acc-page:hover:not(:disabled){border-color:var(--rd-green);background:var(--rd-sand);}
.rd-pdp__acc-page:disabled{opacity:.4;cursor:not-allowed;}
.rd-pdp__acc-pageinfo{min-width:92px;text-align:center;font-size:12px;font-weight:600;color:var(--rd-muted);}

/* ============================================================
   Sample ordering wizard
   ============================================================ */
.rd-sw{max-width:1040px;margin:0 auto;}
.rd-sw__head{display:flex;align-items:center;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--rd-line);margin-bottom:40px;}
.rd-sw__back{background:none;border:none;font-family:var(--rd-display);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--rd-ink);cursor:pointer;padding:4px 0;border-bottom:2px solid var(--rd-ink);}
.rd-sw__stepno{margin-left:auto;font-family:var(--rd-display);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--rd-muted);}
.rd-sw__bar{width:100%;max-width:180px;height:3px;background:var(--rd-line);border-radius:3px;overflow:hidden;}
.rd-sw__bar span{display:block;height:100%;background:var(--rd-green);transition:width .4s var(--rd-ease);}
.rd-sw__h{font-size:clamp(30px,5vw,54px);letter-spacing:-.02em;margin:0 0 10px;}
.rd-sw__sub{color:var(--rd-muted);font-size:17px;margin:0 0 32px;}

/* Choice cards (type + mode) */
.rd-choice{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--rd-line);border-radius:var(--rd-radius);overflow:hidden;max-width:860px;}
.rd-choice__card{position:relative;text-align:left;background:#fff;border:none;border-right:1px solid var(--rd-line);padding:40px 36px 92px;cursor:pointer;transition:background .2s;font-family:var(--rd-font);}
.rd-choice__card:last-child{border-right:none;}
.rd-choice__card:hover{background:var(--rd-sand);}
.rd-choice__ic{font-size:26px;color:var(--rd-muted);display:block;margin-bottom:18px;line-height:0;}
.rd-choice__ic svg{width:30px;height:30px;display:block;}
.rd-choice__title{display:block;font-family:var(--rd-display);font-weight:600;font-size:24px;letter-spacing:-.01em;margin-bottom:6px;color:var(--rd-ink);}
.rd-choice__sub{display:block;color:var(--rd-muted);font-size:14px;}
.rd-choice__box{position:absolute;left:36px;bottom:30px;width:28px;height:28px;border:1px solid #c9c2b5;border-radius:5px;display:grid;place-items:center;color:#fff;transition:background .2s,border-color .2s;}
.rd-choice__box::after{content:"\2713";font-size:15px;opacity:0;transition:opacity .2s;}
.rd-choice__card.is-selected{background:var(--rd-sand);}
.rd-choice__card.is-selected .rd-choice__box{background:var(--rd-green);border-color:var(--rd-green);}
.rd-choice__card.is-selected .rd-choice__box::after{opacity:1;}

/* Build-your-pack card (professional) */
.rd-buildcard{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;text-align:left;background:#fff;border:1px solid var(--rd-line);border-radius:var(--rd-radius);padding:34px 30px;cursor:pointer;transition:box-shadow .25s,transform .25s,border-color .25s;font-family:var(--rd-font);}
.rd-buildcard:hover{box-shadow:var(--rd-shadow);transform:translateY(-2px);border-color:var(--rd-green);}
.rd-buildcard__title{display:block;font-family:var(--rd-display);font-weight:600;font-size:26px;letter-spacing:-.01em;margin-bottom:6px;}
.rd-buildcard__sub{display:block;color:var(--rd-muted);font-size:15px;}
.rd-buildcard__arrow{font-size:26px;color:var(--rd-ink);flex:0 0 auto;transition:transform .25s;}
.rd-buildcard:hover .rd-buildcard__arrow{transform:translateX(6px);}

/* Accordions */
.rd-accs{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--rd-line);}
.rd-acc{border-bottom:1px solid var(--rd-line);}
.rd-acc__head{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;cursor:pointer;padding:22px 4px;text-align:left;font-family:var(--rd-display);}
.rd-acc__name{font-weight:600;font-size:20px;color:var(--rd-ink);letter-spacing:-.01em;}
.rd-acc__name em{font-style:normal;font-weight:400;font-size:14px;color:var(--rd-muted);margin-left:10px;}
.rd-acc__meta{display:flex;align-items:center;gap:14px;color:var(--rd-muted);font-size:13px;}
.rd-acc__count{color:var(--rd-green-deep);font-weight:700;}
.rd-acc__chev{font-size:16px;transition:transform .3s;}
.rd-acc.is-open .rd-acc__chev{transform:rotate(180deg);}
.rd-acc__body{max-height:0;overflow:hidden;transition:max-height .4s var(--rd-ease);}
.rd-acc.is-open .rd-acc__body{max-height:2200px;}
.rd-acc__inner{padding:6px 4px 30px;}
.rd-acc.is-locked{opacity:.45;}
.rd-acc.is-locked .rd-acc__head{cursor:not-allowed;}
.rd-acc__all{margin-bottom:16px;background:none;border:1px solid var(--rd-line);border-radius:999px;padding:8px 16px;font-family:var(--rd-display);font-weight:600;font-size:13px;letter-spacing:.03em;color:var(--rd-ink);cursor:pointer;transition:background .2s,color .2s,border-color .2s;}
.rd-acc__all:hover{background:var(--rd-olive);color:#fff;border-color:var(--rd-olive);}
.rd-acc__all:disabled{cursor:not-allowed;opacity:.5;}

/* Sample tiles */
.rd-tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
.rd-tile{position:relative;text-align:left;background:none;border:none;cursor:pointer;padding:0;font-family:var(--rd-font);}
.rd-tile__img{display:block;aspect-ratio:1/1;border-radius:6px;background-size:cover;background-position:center;border:2px solid transparent;transition:border-color .2s,box-shadow .2s;}
.rd-tile__check{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:6px;background:var(--rd-ink);color:#fff;display:grid;place-items:center;font-size:14px;opacity:0;transform:scale(.7);transition:opacity .2s,transform .2s;box-shadow:0 2px 8px rgba(0,0,0,.25);}
.rd-tile__name{display:block;font-family:var(--rd-display);font-weight:600;font-size:14px;margin-top:10px;color:var(--rd-ink);}
.rd-tile__dims{display:block;font-size:12px;color:var(--rd-muted);margin-top:2px;}
.rd-tile:hover .rd-tile__img{border-color:#d8d0c2;}
.rd-tile.is-selected .rd-tile__img{border-color:var(--rd-ink);box-shadow:0 0 0 1px var(--rd-ink);}
.rd-tile.is-selected .rd-tile__check{opacity:1;transform:scale(1);}
.rd-tile.is-disabled{opacity:.4;pointer-events:none;}

/* Sticky footer bar */
.rd-sw__foot{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:30px;padding:16px 20px;background:#fff;border-top:1px solid var(--rd-line);box-shadow:0 -8px 24px rgba(0,0,0,.05);}
.rd-sw__foot-info{font-family:var(--rd-display);font-size:15px;color:var(--rd-ink);}
.rd-sw__foot-info b{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 6px;background:var(--rd-ink);color:#fff;border-radius:6px;margin-right:8px;}
.rd-sw__foot-info span{color:var(--rd-muted);font-family:var(--rd-font);font-size:14px;}

/* Review + Pay (full range) */
.rd-review{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.rd-review__item{display:flex;flex-direction:column;gap:8px;}
.rd-review__img{aspect-ratio:1/1;border-radius:6px;background-size:cover;background-position:center;}
.rd-review__name{font-family:var(--rd-display);font-weight:600;font-size:14px;}
.rd-review__dims{font-size:12px;color:var(--rd-muted);}
.rd-review__note{font-size:13px;color:var(--rd-green-deep);font-weight:600;margin:0 0 20px;}
.rd-review__note--after{margin:16px 0 0;text-align:left;}

/* Order form (step 4) */
.rd-sw__form{border:1px solid var(--rd-line);border-radius:var(--rd-radius);padding:36px;background:#fff;}
.rd-sw__title{font-size:clamp(24px,3vw,34px);margin:0 0 26px;}
.rd-sw__form-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.rd-sw__col-title{display:block;font-family:var(--rd-display);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--rd-ink);margin-bottom:20px;}
.rd-sw__row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.rd-sw__order{margin-top:10px;background:var(--rd-cream);border-radius:var(--rd-radius);padding:22px;}
.rd-sw__order-head{display:flex;justify-content:space-between;align-items:center;}
.rd-sw__order-title{font-family:var(--rd-display);font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;}
.rd-sw__order-edit{background:none;border:none;color:var(--rd-green-deep);font-weight:600;cursor:pointer;border-bottom:1px solid currentColor;padding:0;}
.rd-sw__order-count{font-family:var(--rd-display);font-weight:700;font-size:22px;margin:12px 0 2px;}
.rd-sw__order-note{color:var(--rd-muted);font-size:13px;margin:0 0 14px;}
.rd-sw__order-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;max-height:230px;overflow-y:auto;}
.rd-sw__order-item{display:flex;gap:12px;align-items:flex-start;}
.rd-sw__order-img{width:44px;height:44px;flex:0 0 auto;border-radius:5px;background-size:cover;background-position:center;}
.rd-sw__order-name{display:block;font-family:var(--rd-display);font-weight:600;font-size:14px;}
.rd-sw__order-desc{display:block;font-size:12px;color:var(--rd-muted);line-height:1.45;margin-top:2px;}
.rd-sw__order-dims{display:block;font-size:12px;color:var(--rd-muted);margin-top:2px;}
.rd-sw__form-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding-top:22px;border-top:1px solid var(--rd-line);}
.rd-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--rd-muted);max-width:60%;}
.rd-consent input{margin-top:3px;}

@media (max-width:900px){
	.rd-tiles{grid-template-columns:repeat(3,1fr);}
	.rd-review{grid-template-columns:repeat(3,1fr);}
	.rd-sw__form-grid{grid-template-columns:1fr;gap:26px;}
	.rd-sw__form{padding:24px;}
	.rd-consent{max-width:none;}
	.rd-sw__form-foot{flex-direction:column;align-items:stretch;}
}
@media (max-width:560px){
	.rd-choice{grid-template-columns:1fr;}
	.rd-choice__card{border-right:none;border-bottom:1px solid var(--rd-line);}
	.rd-tiles{grid-template-columns:repeat(2,1fr);}
	.rd-review{grid-template-columns:repeat(2,1fr);}
	.rd-sw__row{grid-template-columns:1fr;}
}

/* ============================================================
   Enquiry pages (Wholesale / Trade / Quote)
   ============================================================ */
.enq-hero{position:relative;min-height:74vh;display:flex;align-items:center;background-size:cover;background-position:center;color:#fff;overflow:hidden;}
.enq-hero__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,7,5,.82) 0%,rgba(8,7,5,.5) 55%,rgba(8,7,5,.2) 100%),linear-gradient(to top,rgba(8,7,5,.6),rgba(8,7,5,0) 45%);}
.enq-hero__inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:40px;padding-top:calc(var(--rd-header-h) + 40px);padding-bottom:56px;width:100%;}
.enq-hero__content{max-width:680px;animation:enqRise .9s var(--rd-ease) both;}
.enq-hero__eyebrow{display:inline-block;font-family:var(--rd-display);font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.85);margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--rd-green);}
.enq-hero__title{font-size:clamp(34px,5.4vw,68px);line-height:1.02;color:#fff;margin:0 0 20px;text-shadow:0 2px 30px rgba(0,0,0,.35);}
.enq-hero__title span{color:var(--rd-green);}
.enq-hero__lead{font-size:clamp(16px,1.3vw,19px);color:rgba(255,255,255,.9);max-width:560px;margin-bottom:30px;}
.enq-hero__cta{display:flex;gap:14px;flex-wrap:wrap;}
@keyframes enqRise{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}

/* Discount badge */
.enq-hero__badge{position:relative;z-index:2;flex:0 0 auto;}
.enq-badge{display:grid;place-items:center;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle at 30% 28%,#3ec13a,#1f7a1f);color:#fff;text-align:center;box-shadow:0 20px 50px rgba(31,122,31,.45);animation:badgeFloat 4s ease-in-out infinite;border:3px solid rgba(255,255,255,.25);}
.enq-badge__num{display:block;font-family:var(--rd-display);font-weight:900;font-size:58px;line-height:1;}
.enq-badge__txt{display:block;font-family:var(--rd-display);font-weight:700;font-size:14px;letter-spacing:.16em;margin-top:6px;}
@keyframes badgeFloat{0%,100%{transform:translateY(0) rotate(-6deg);}50%{transform:translateY(-14px) rotate(6deg);}}

/* Split section */
.enq-split__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start;}
.enq-points{list-style:none;margin:24px 0 28px;padding:0;display:flex;flex-direction:column;gap:16px;}
.enq-point{display:flex;gap:16px;align-items:flex-start;}
.enq-point__ic{flex:0 0 auto;width:46px;height:46px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1;background:var(--rd-sand);color:var(--rd-green-deep);border:1px solid rgba(32,122,31,.14);border-radius:13px;font-size:18px;font-weight:700;transition:background .2s,transform .2s;}
.enq-point:hover .enq-point__ic{background:var(--rd-green-deep);color:#fff;border-color:var(--rd-green-deep);transform:translateY(-1px);}
/* Inline SVG icons (see inc/icons.php) */
.rd-ico{display:block;flex:0 0 auto;width:22px;height:22px;stroke:currentColor;stroke-width:1.75;}
.enq-point__ic .rd-ico{width:21px;height:21px;}
.mega__tool-ic .rd-ico{width:20px;height:20px;}
.why__ic .rd-ico{width:26px;height:26px;}
.enq-point strong{display:block;font-family:var(--rd-display);font-size:16px;}
/* Scoped to the text div's span, not `.enq-point span` generally — that
   selector's tag+class specificity was beating `.enq-point__ic`'s flex
   centering, which left every icon pinned to the top-left of its box instead
   of centered. */
.enq-point > div > span{display:block;color:var(--rd-muted);font-size:14px;}
.enq-stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;}
.enq-stat{flex:1;min-width:120px;background:var(--rd-sand);border-radius:var(--rd-radius);padding:18px;text-align:center;}
.enq-stat b{display:block;font-family:var(--rd-display);font-weight:800;font-size:26px;color:var(--rd-ink);}
.enq-stat span{font-size:12px;color:var(--rd-muted);letter-spacing:.03em;}
.enq-contactline{display:flex;gap:22px;flex-wrap:wrap;margin-top:8px;}
.enq-contactline a{font-family:var(--rd-display);font-weight:700;color:var(--rd-green-deep);}

/* Form card */
.enq-formcard{background:#fff;border:1px solid var(--rd-line);border-radius:var(--rd-radius);box-shadow:var(--rd-shadow);padding:34px;}
.enq-formcard__title{font-size:26px;margin-bottom:6px;}
.enq-formcard__sub{color:var(--rd-muted);margin-bottom:22px;}
.enq-formcard .rd-form{max-width:none;}

/* Trade-friendly strip */
.enq-strip{background:var(--rd-olive);}
.enq-strip__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:26px 24px;}
.enq-strip__item{display:flex;align-items:center;justify-content:center;gap:12px;color:#fff;font-family:var(--rd-display);font-weight:600;font-size:18px;}
.enq-strip__item span{font-size:24px;color:var(--rd-green);}

/* ============================================================
   Carousel
   ============================================================ */
.rd-carousel{position:relative;max-width:1000px;margin:0 auto;}
.rd-carousel__viewport{overflow:hidden;border-radius:var(--rd-radius);box-shadow:var(--rd-shadow);}
.rd-carousel__track{display:flex;transition:transform .6s var(--rd-ease);}
.rd-carousel__slide{flex:0 0 100%;height:clamp(320px,52vw,540px);background-size:cover;background-position:center;}
.rd-carousel__btn{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:none;background:rgba(255,255,255,.9);color:var(--rd-ink);font-size:26px;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.2);transition:background .2s,transform .2s;}
.rd-carousel__btn:hover{background:#fff;transform:translateY(-50%) scale(1.06);}
.rd-carousel__btn--prev{left:16px;}
.rd-carousel__btn--next{right:16px;}
.rd-carousel__dots{display:flex;justify-content:center;gap:10px;margin-top:18px;}
.rd-carousel__dot{width:9px;height:9px;border-radius:50%;border:none;background:#cfc7b8;cursor:pointer;padding:0;transition:background .2s,transform .2s;}
.rd-carousel__dot.is-active{background:var(--rd-green);transform:scale(1.25);}

@media (max-width:960px){
	.enq-split__grid{grid-template-columns:1fr;gap:34px;}
	.enq-hero__badge{display:none;}
	.enq-strip__grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
	.enq-strip__grid{grid-template-columns:1fr;padding:20px;}
	.enq-hero__inner{padding-top:calc(var(--rd-header-h) + 24px);padding-bottom:40px;}
	.enq-formcard{padding:22px;}
	.rd-faq__q{padding:15px 16px;font-size:14px;}
	.rd-faq__a{padding:0 16px 15px;}
}
@media (max-width:560px){
	.enq-hero{min-height:64vh;}
	.enq-formcard{padding:22px;}
	.enq-strip__grid{grid-template-columns:1fr 1fr;gap:14px;}
}

/* =============================== Shop: cart drawer ===================== */
body.rd-noscroll{overflow:hidden;}
.rd-cart-count[data-count="0"]{display:none;}
.header-cart__ic .rd-ico{width:23px;height:23px;}

.rd-cart-overlay{position:fixed;inset:0;background:rgba(12,10,8,.5);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;z-index:1000;}
.rd-cart-overlay.is-open{opacity:1;visibility:visible;}

.rd-cart-drawer{position:fixed;top:0;right:0;height:100%;width:min(420px,100vw);background:#fff;box-shadow:-12px 0 44px rgba(0,0,0,.2);transform:translateX(100%);transition:transform .35s var(--rd-ease);z-index:1001;display:flex;flex-direction:column;}
.rd-cart-drawer.is-open{transform:none;}
.rd-cart-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:22px 28px;border-bottom:1px solid var(--rd-line);}
.rd-cart-drawer__title{font-family:var(--rd-display);font-size:26px;margin:0;color:var(--rd-ink);}
.rd-cart-drawer__close{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;line-height:1;color:var(--rd-muted);cursor:pointer;padding:4px;transition:color .2s;}
.rd-cart-drawer__close:hover{color:var(--rd-ink);}
.rd-cart-drawer__body{flex:1;overflow-y:auto;}
.widget_shopping_cart_content{display:flex;flex-direction:column;min-height:100%;}
.woocommerce-mini-cart{list-style:none;margin:0;padding:8px 0;flex:1;}
/* Left inset matches the drawer head/foot (28px) so the whole panel reads
   as one aligned column. Right stays wider to leave room for the remove
   button, which already eats into that side's gap. */
.rd-mini-item{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:start;padding:18px 46px 18px 28px;border-bottom:1px solid var(--rd-line);position:relative;}
/* WooCommerce adds a clearfix `li::before/::after{content:" ";display:table}`.
   As direct children of a grid container those pseudo-elements become extra
   grid items and shove the thumb/body onto their own rows. Remove them. */
.rd-mini-item::before,.rd-mini-item::after{display:none!important;content:none!important;}
.rd-mini-item__thumb{width:56px;flex:0 0 auto;}
.rd-mini-item__thumb img{width:56px!important;height:56px;object-fit:cover;border-radius:8px;display:block;float:none!important;margin:0!important;background:var(--rd-sand);}
.rd-mini-item__body{min-width:0;}
.rd-mini-item__name{display:block;font-family:var(--rd-display);font-weight:600;font-size:14px;line-height:1.35;color:var(--rd-ink);}
.rd-mini-item__name a{color:inherit;font-weight:600!important;}
.rd-mini-item__qty{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px;font-size:13px;color:var(--rd-muted);}
.rd-mini-item__qty .quantity{font-weight:600;color:var(--rd-ink);}
.rd-mini-item__price{font-weight:600;color:var(--rd-ink);}
/* Compact stepper for the cart drawer */
.rd-qty--xs{border-radius:8px;}
.rd-qty--xs .rd-qty__btn{width:26px;height:28px;font-size:15px;}
.rd-qty--xs input.qty{width:38px;height:28px;font-size:13px;}
/* The chosen colours (and any other cart-item meta) render as a WooCommerce
   <dl class="variation">. Core CSS floats the dt/dd and adds a left border,
   which broke the long sample-pack colour list. Reset it to a clean,
   muted, wrapping block clamped to a few lines. */
.rd-mini-item .variation{margin:5px 0 0!important;padding:0!important;border-left:0!important;font-size:12px;color:var(--rd-muted);line-height:1.45;display:block;}
.rd-mini-item .variation::after,.rd-mini-item .variation::before{display:none!important;content:none!important;}
.rd-mini-item .variation dt,.rd-mini-item .variation dd{display:inline!important;float:none!important;margin:0!important;padding:0!important;font-weight:400!important;clear:none!important;}
.rd-mini-item .variation dt{font-weight:600!important;color:var(--rd-ink);}
.rd-mini-item .variation dd{margin-right:0!important;}
.rd-mini-item .variation dd p{display:inline!important;margin:0!important;}
/* Clamp an over-long colour list so one line-heavy item can't dominate the drawer. */
.rd-mini-item .variation dd p,.rd-mini-item .variation{overflow:hidden;}
.rd-mini-item .variation dd{display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
/* Remove button: pin to the top-right of the row, overriding WooCommerce's
   own `position:absolute;top:0;left:0` widget rule. */
.rd-mini-item__remove,
.woocommerce .widget_shopping_cart .cart_list li a.rd-mini-item__remove{position:absolute;top:14px;right:16px;left:auto;width:22px;height:22px;display:grid;place-items:center;font-size:18px;color:var(--rd-muted);text-decoration:none;line-height:1;border-radius:50%;transition:background .2s,color .2s;}
.rd-mini-item__remove:hover{color:#c0392b;background:rgba(192,57,43,.1);}
.rd-cart-drawer__foot{padding:20px 28px;border-top:1px solid var(--rd-line);background:#fff;position:sticky;bottom:0;}
.rd-cart-drawer__subtotal{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 4px;font-family:var(--rd-display);font-size:18px;color:var(--rd-ink);}
.rd-cart-drawer__subtotal strong{font-weight:800;}
.rd-cart-drawer__note{margin:0 0 14px;font-size:12px;color:var(--rd-muted);}
.rd-cart-drawer__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.rd-cart-drawer__actions .btn{width:100%;text-align:center;justify-content:center;padding:13px 10px;}
.rd-cart-drawer__empty{padding:48px 28px;text-align:center;color:var(--rd-muted);}
.rd-cart-drawer__empty .btn{margin-top:16px;}

/* Snackbar / toast */
.rd-snackbar{position:fixed;left:24px;bottom:24px;z-index:1100;display:flex;align-items:center;gap:12px;max-width:360px;background:var(--rd-ink);color:#fff;padding:14px 18px;border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.3);transform:translateY(24px);opacity:0;visibility:hidden;transition:transform .3s var(--rd-ease),opacity .3s,visibility .3s;}
.rd-snackbar.is-visible{transform:none;opacity:1;visibility:visible;}
.rd-snackbar__ic{display:inline-grid;place-items:center;width:22px;height:22px;flex:0 0 auto;background:var(--rd-green);color:#fff;border-radius:50%;font-size:13px;}
.rd-snackbar__msg{font-size:14px;line-height:1.4;}
.rd-snackbar__link{margin-left:auto;color:#fff;font-weight:700;font-size:13px;text-decoration:underline;white-space:nowrap;}

/* =============================== Cart page ============================= */
.rd-cart{max-width:1120px;margin:0 auto;}
.rd-cart__list{border-top:1px solid var(--rd-line);margin-bottom:20px;}
.rd-cart-row{display:grid;grid-template-columns:104px minmax(0,1fr) auto auto 32px;gap:26px;align-items:center;padding:28px 4px;border-bottom:1px solid var(--rd-line);}
.rd-cart-row__thumb img{width:104px;height:104px;object-fit:cover;border-radius:10px;display:block;}
.rd-cart-row__name{font-family:var(--rd-display);font-size:17px;margin:0 0 4px;color:var(--rd-ink);}
.rd-cart-row__name a{color:inherit;}
.rd-cart-row__desc{margin:0 0 8px;font-size:13px;color:var(--rd-muted);line-height:1.5;max-width:42ch;}
.rd-cart-row__unit{font-size:13px;color:var(--rd-ink);font-weight:600;}
.rd-cart-row__unit em{font-style:normal;color:var(--rd-muted);font-weight:400;margin-left:4px;}
.rd-cart-row__subtotal{font-family:var(--rd-display);font-weight:800;font-size:17px;color:var(--rd-ink);white-space:nowrap;}
.rd-cart-row__remove .remove{font-size:22px;color:var(--rd-muted);text-decoration:none;line-height:1;}
.rd-cart-row__remove .remove:hover{color:#c0392b;}

/* Quantity stepper */
.rd-qty{display:inline-flex;align-items:center;border:1px solid var(--rd-line);border-radius:var(--rd-radius);overflow:hidden;background:#fff;}
.rd-qty__btn{width:36px;height:40px;border:none;background:var(--rd-sand);color:var(--rd-ink);font-size:18px;line-height:1;cursor:pointer;transition:background .2s;}
.rd-qty__btn:hover{background:var(--rd-cream);}
.rd-qty .quantity{margin:0;}
.rd-qty input.qty{width:48px;height:40px;border:none;border-left:1px solid var(--rd-line);border-right:1px solid var(--rd-line);text-align:center;font-family:var(--rd-font);font-size:15px;-moz-appearance:textfield;background:#fff;}
.rd-qty input.qty::-webkit-outer-spin-button,.rd-qty input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.rd-cart__toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:flex-end;margin:0;}
/* "Update cart" button removed from view — cart updates live via AJAX. The
   button stays in the DOM (off-screen) only as a no-JS Enter-to-submit fallback. */
.rd-cart__update-fallback{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;opacity:0;pointer-events:none;}
/* Gentle feedback while the live update request is in flight. */
.woocommerce-cart-form.is-updating .rd-cart-row__subtotal{opacity:.45;transition:opacity .15s;}
.rd-cart__collaterals{display:flex;justify-content:flex-end;transition:opacity .15s;}
.woocommerce-cart-form.is-updating + .rd-cart__collaterals,.rd-cart.is-updating .rd-cart__collaterals{opacity:.6;}

/* Cart totals */
.rd-carttotals{width:min(460px,100%);background:#fff;border:1px solid var(--rd-line);border-radius:14px;box-shadow:0 1px 3px rgba(22,21,15,.04);padding:30px 32px;}
.rd-carttotals__title{font-family:var(--rd-display);font-size:22px;margin:0 0 20px;color:var(--rd-ink);}
.rd-carttotals__row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--rd-line);font-size:15px;color:var(--rd-ink);}
.rd-carttotals__row span{color:var(--rd-muted);}
.rd-carttotals__row strong{font-weight:700;}
.rd-carttotals__row--ship em{font-style:normal;color:var(--rd-muted);font-size:13px;text-align:right;max-width:60%;}
.rd-carttotals__row--discount strong{color:var(--rd-green-deep);}
.rd-carttotals__row--total{border-bottom:none;padding-top:16px;font-size:19px;}
.rd-carttotals__row--total span{color:var(--rd-ink);font-family:var(--rd-display);}
.rd-carttotals__row--total strong{font-family:var(--rd-display);font-weight:800;font-size:22px;}
.rd-carttotals__proceed{margin-top:20px;}
.rd-carttotals__proceed .checkout-button,.rd-carttotals__proceed .button{display:block;width:100%;text-align:center;padding:15px!important;font-size:15px;}

/* Empty cart state */
.rd-cart-empty{max-width:520px;margin:0 auto;padding:24px 24px 36px;text-align:center;display:flex;flex-direction:column;align-items:center;}
.rd-cart-empty__icon{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:var(--rd-sand);color:var(--rd-green-deep);margin-bottom:22px;}
.rd-cart-empty__icon .rd-ico{width:34px;height:34px;}
.rd-cart-empty__title{font-family:var(--rd-display);font-size:clamp(24px,3vw,30px);line-height:1.15;margin:0 0 12px;color:var(--rd-ink);}
.rd-cart-empty__text{font-size:15px;line-height:1.6;color:var(--rd-muted);margin:0 0 28px;max-width:42ch;}
.rd-cart-empty__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}

/* =============================== Order invoice ======================== */
.rd-invoice{max-width:760px;margin:0 auto;}
.rd-invoice__head{text-align:center;padding:8px 0 30px;}
.rd-invoice__check{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:rgba(47,158,47,.12);color:var(--rd-green-deep);margin-bottom:18px;}
.rd-invoice__check .rd-ico{width:30px;height:30px;}
.rd-invoice__title{font-family:var(--rd-display);font-size:clamp(26px,3.4vw,34px);line-height:1.15;margin:0 0 10px;color:var(--rd-ink);}
.rd-invoice__lead{font-size:15px;line-height:1.6;color:var(--rd-muted);margin:0 auto;max-width:52ch;}

.rd-invoice__meta{list-style:none;margin:0 0 24px;padding:20px 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px 24px;background:var(--rd-sand);border:1px solid var(--rd-line);border-radius:14px;}
.rd-invoice__meta-item{display:flex;flex-direction:column;gap:5px;min-width:0;}
.rd-invoice__meta-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rd-muted);}
.rd-invoice__meta-value{font-family:var(--rd-display);font-size:16px;color:var(--rd-ink);word-break:break-word;}

.rd-invoice__card{background:#fff;border:1px solid var(--rd-line);border-radius:16px;box-shadow:0 1px 3px rgba(22,21,15,.04);padding:28px 30px;margin:0 0 24px;}
.rd-invoice__card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 4px;}
.rd-invoice__card-title{font-family:var(--rd-display);font-size:20px;margin:0;color:var(--rd-ink);}
.rd-invoice__card-tag{font-family:var(--rd-display);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--rd-green-deep);background:rgba(47,158,47,.1);padding:5px 12px;border-radius:999px;white-space:nowrap;}

.rd-invoice__lines{list-style:none;margin:16px 0 0;padding:0;border-top:1px solid var(--rd-line);}
.rd-invoice__line{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--rd-line);}
.rd-invoice__line-thumb{position:relative;width:64px;height:64px;}
.rd-invoice__line-thumb img{width:64px;height:64px;object-fit:cover;border-radius:10px;display:block;}
.rd-invoice__line-qty{position:absolute;top:-8px;right:-8px;min-width:22px;height:22px;padding:0 6px;display:grid;place-items:center;background:var(--rd-ink);color:#fff;font-size:12px;font-weight:700;border-radius:999px;}
.rd-invoice__line-body{min-width:0;display:flex;flex-direction:column;gap:3px;}
.rd-invoice__line-name{font-family:var(--rd-display);font-size:15px;color:var(--rd-ink);line-height:1.3;}
.rd-invoice__line-name a{color:inherit;}
.rd-invoice__line-qtytext{font-size:13px;color:var(--rd-muted);}
.rd-invoice__line-total{font-family:var(--rd-display);font-weight:800;font-size:16px;color:var(--rd-ink);white-space:nowrap;text-align:right;}
.rd-invoice__line-note{grid-column:1 / -1;font-size:13px;color:var(--rd-muted);background:var(--rd-sand);border-radius:8px;padding:10px 12px;margin-top:4px;}

.rd-invoice__totals{margin-top:22px;}
.rd-invoice__total-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--rd-line);font-size:15px;color:var(--rd-ink);}
.rd-invoice__total-label{color:var(--rd-muted);}
.rd-invoice__total-value{font-weight:600;text-align:right;}
.rd-invoice__total-row--order_total{border-bottom:none;padding-top:16px;font-size:19px;}
.rd-invoice__total-row--order_total .rd-invoice__total-label{color:var(--rd-ink);font-family:var(--rd-display);}
.rd-invoice__total-row--order_total .rd-invoice__total-value{font-family:var(--rd-display);font-weight:800;font-size:22px;}

.rd-invoice__note{margin-top:18px;padding-top:18px;border-top:1px solid var(--rd-line);}
.rd-invoice__note-label{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rd-muted);margin-bottom:6px;}
.rd-invoice__note-text{margin:0;font-size:14px;line-height:1.6;color:var(--rd-ink);}

.rd-invoice__order-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;}

.rd-invoice__addresses{display:grid;grid-template-columns:1fr;gap:28px;}
.rd-invoice__addresses--2{grid-template-columns:1fr 1fr;}
.rd-invoice__address-title{font-family:var(--rd-display);font-size:16px;margin:0 0 10px;color:var(--rd-ink);}
.rd-invoice__address-body{font-style:normal;font-size:14px;line-height:1.7;color:var(--rd-ink);}
.rd-invoice__address-line{display:block;color:var(--rd-muted);}

.rd-invoice__alert{text-align:center;padding:8px 0 20px;}
.rd-invoice__alert .rd-invoice__title{margin-bottom:14px;}
.rd-invoice__alert p{color:var(--rd-muted);line-height:1.6;}
.rd-invoice__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:18px;}

@media (max-width:640px){
	.rd-invoice__meta{grid-template-columns:1fr 1fr;}
	.rd-invoice__addresses--2{grid-template-columns:1fr;}
	.rd-invoice__card{padding:22px 18px;}
	.rd-invoice__card-head{flex-wrap:wrap;}
}

/* =============================== Checkout ============================= */
/* Two full-height panes: form on the left, order summary in a tinted pane that
   bleeds to the viewport edge. Both panes hug the centre divider, so the page
   uses the full screen width without stretching inputs into unusable rows. */
.rd-co{padding-top:var(--rd-header-h);}
.rd-co__bar{border-bottom:1px solid var(--rd-line);background:#fff;}
.rd-co__bar-inner{display:flex;align-items:center;gap:26px;flex-wrap:wrap;max-width:var(--rd-container-wide);margin:0 auto;padding:20px 24px;}
.rd-co__title{font-family:var(--rd-display);font-size:25px;margin:0;color:var(--rd-ink);}
.rd-co__steps{display:flex;align-items:center;gap:12px;list-style:none;margin:0;padding:0;font-size:13px;color:var(--rd-muted);}
.rd-co__steps li{display:flex;align-items:center;gap:12px;}
.rd-co__steps li+li::before{content:"";width:20px;height:1px;background:var(--rd-line);}
.rd-co__steps a{color:var(--rd-muted);}
.rd-co__steps a:hover{color:var(--rd-ink);}
.rd-co__steps .is-current{color:var(--rd-ink);font-weight:700;}
.rd-co__trust{display:flex;align-items:center;gap:7px;margin:0 0 0 auto;font-size:12.5px;font-weight:600;color:var(--rd-green-deep);}
.rd-co__trust .rd-ico{width:16px;height:16px;}
.rd-co__notices{max-width:var(--rd-container);margin:0 auto;padding:0 24px;}
/* Checkout AJAX errors are injected into the first notices wrapper, which sits
   full-width above the panes. Contain and style them so they read as an alert. */
.rd-co .woocommerce > .woocommerce-notices-wrapper:not(:empty),
.rd-co .woocommerce-NoticeGroup-checkout{max-width:var(--rd-container);margin:22px auto 0;padding:0 24px;box-sizing:border-box;}
.rd-co .woocommerce-notices-wrapper .woocommerce-error,
.rd-co .woocommerce-NoticeGroup-checkout .woocommerce-error,
.rd-co .woocommerce-notices-wrapper > :not(ul):not(div){display:block;list-style:none;margin:0;padding:14px 18px;background:#fdf1f0;border:1px solid #f0c7c2;border-left:4px solid #c0392b;border-radius:10px;color:#7a231a;font-size:14px;line-height:1.5;}
.rd-co__notices:empty{display:none;}
.rd-co__notices>*:first-child{margin-top:22px;}
.rd-co__plain{padding:46px 24px 90px;max-width:900px;}

.rd-co__panes{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;}
.rd-co__pane{min-width:0;}
.rd-co__pane--main{display:flex;justify-content:flex-end;padding:46px 58px 110px 24px;background:#fff;}
.rd-co__pane--side{background:var(--rd-sand);border-left:1px solid var(--rd-line);padding:46px 24px 110px 58px;}
.rd-co__inner{width:100%;min-width:0;max-width:560px;}
.rd-co__pane--side .rd-co__inner{position:sticky;top:calc(var(--rd-header-h) + 26px);}
.rd-co__login{display:flex;justify-content:flex-end;gap:4px;margin:0 0 14px;font-size:13px;color:var(--rd-muted);}
.rd-co__login a{color:var(--rd-green-deep);text-decoration:underline;}

/* --- Form blocks --- */
.rd-checkout__block{margin-bottom:34px;padding-bottom:34px;border-bottom:1px solid var(--rd-line);}
/* Payment is always the final block. Scoped deliberately: a `:last-child`
   rule also matched the shipping fields (last child of #customer_details) and
   swallowed the divider between the address and the delivery options. */
.rd-checkout__payment{margin-bottom:0;padding-bottom:0;border-bottom:none;}
.rd-checkout__h{font-family:var(--rd-display);font-size:19px;font-weight:700;letter-spacing:-.01em;text-transform:none;color:var(--rd-ink);margin:0 0 4px;}
.rd-checkout__hint{font-size:13.5px;color:var(--rd-muted);margin:0 0 20px;line-height:1.5;}
.rd-checkout__secure{display:flex;align-items:center;gap:7px;}
.rd-checkout__secure .rd-ico{width:15px;height:15px;flex:0 0 auto;color:var(--rd-green-deep);}
/* Express checkout buttons (Apple/Google Pay, Link) relocated into the Payment
   section. Only reserve space when the gateway actually renders something. */
/* Express checkout sits after Place Order as a faster alternative. The
   "Or pay with" divider only appears once Stripe actually shows a button. */
.rd-checkout__express{margin:26px 0 0;}
.rd-checkout__express-label{display:none;align-items:center;gap:14px;margin:0 0 14px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rd-muted);}
.rd-checkout__express-label::before,.rd-checkout__express-label::after{content:"";flex:1;height:1px;background:var(--rd-line);}
/* Show the divider once Stripe has mounted any button (it injects an iframe;
   the inline display value it sets varies by version, so don't rely on it). */
.rd-checkout__express:has(#wc-stripe-express-checkout-element iframe) .rd-checkout__express-label{display:flex;}
/* PayPal's buttons stand in for Place Order — keep them visually tied to the
   method list above, and well apart from the express buttons below. */
.rd-checkout__payment #ppc-button-ppcp-gateway{margin-top:4px;}
.rd-checkout__payment .payment_box.payment_method_ppcp-gateway p{margin:0;color:var(--rd-ink);}
.rd-checkout__express #wc-stripe-express-checkout-element{margin-top:0!important;}
/* Stripe's own "— OR —" assumed the buttons sat above the card form. */
.rd-checkout__express #wc-stripe-express-checkout-button-separator{display:none!important;}
/* woocommerce-layout.css sets `.woocommerce form .form-row-first{width:47%;
   float:left}`. Inside our grid that shrank the name / suburb / state inputs to
   half a column, so the float layout is neutralised here. The body-class prefix
   is needed to out-specify WooCommerce's own rule. */
.rd-checkout .form-row,
.rd-checkout-screen .rd-checkout .form-row,
.woocommerce-page form.rd-checkout .form-row{width:100%;float:none;margin:0 0 18px;padding:0;}
.rd-checkout .woocommerce-input-wrapper{display:block;width:100%;}
/* Country / state are rendered by select2 — match the native inputs exactly. */
.rd-checkout .select2-container{width:100%!important;}
.rd-checkout .select2-container--default .select2-selection--single{height:auto;min-height:0;border:1px solid var(--rd-line);border-radius:10px;background:#fff;transition:border-color .2s,box-shadow .2s;}
.rd-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{padding:14px 40px 14px 16px;line-height:1.4;font-size:15px;color:var(--rd-ink);}
.rd-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{height:100%;top:0;right:12px;}
.rd-checkout .select2-container--default.select2-container--open .select2-selection--single,
.rd-checkout .select2-container--default.select2-container--focus .select2-selection--single{border-color:var(--rd-ink);box-shadow:0 0 0 3px rgba(22,21,15,.08);}
.rd-checkout .select2-dropdown{border-color:var(--rd-line);border-radius:10px;overflow:hidden;}
.rd-checkout label{display:block;font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--rd-ink);margin-bottom:7px;}
.rd-checkout label .required{color:var(--rd-green);border:0;text-decoration:none;}
/* woocommerce.css styles `.woocommerce form .form-row .input-text` (padding:.5em,
   its own radius). The body-class prefix here is what out-specifies it, so the
   checkout fields keep this design without resorting to !important. */
.rd-checkout-screen .rd-checkout .form-row .input-text,
.rd-checkout-screen .rd-checkout .form-row select,
.rd-checkout-screen .rd-checkout .form-row textarea,
.rd-checkout .input-text,.rd-checkout select,.rd-checkout textarea{width:100%;padding:14px 16px;border:1px solid var(--rd-line);border-radius:10px;font-family:var(--rd-font);font-size:15px;line-height:1.4;background:#fff;color:var(--rd-ink);transition:border-color .2s,box-shadow .2s;}
.rd-checkout-screen .rd-checkout .form-row textarea,
.rd-checkout textarea{min-height:104px;resize:vertical;}
.rd-checkout-screen .rd-checkout .form-row .input-text:focus,
.rd-checkout-screen .rd-checkout .form-row select:focus,
.rd-checkout-screen .rd-checkout .form-row textarea:focus,
.rd-checkout .input-text:focus,.rd-checkout select:focus,.rd-checkout textarea:focus{outline:none;border-color:var(--rd-ink);box-shadow:0 0 0 3px rgba(22,21,15,.08);}
.rd-checkout .input-text::placeholder,.rd-checkout textarea::placeholder{color:#a7a29a;}
.rd-checkout__fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;}
.rd-checkout .form-row-wide,.rd-checkout .form-row.notes{grid-column:1 / -1;}
.rd-checkout .form-row-first{grid-column:1;}
.rd-checkout .form-row-last{grid-column:2;}
.rd-checkout .woocommerce-invalid .input-text,.rd-checkout .woocommerce-invalid select{border-color:#c0392b;}

/* --- Delivery method options --- */
.rd-ship__list{list-style:none;margin:0;padding:0;border:1px solid var(--rd-line);border-radius:10px;overflow:hidden;background:#fff;}
.rd-ship__opt{border-bottom:1px solid var(--rd-line);transition:background .2s;}
.rd-ship__opt:last-child{border-bottom:none;}
.rd-ship__opt.is-selected{background:var(--rd-sand);box-shadow:inset 3px 0 0 var(--rd-green);}
.rd-ship__opt label{display:flex;align-items:flex-start;gap:12px;padding:15px 17px;margin:0;cursor:pointer;text-transform:none;letter-spacing:0;font-weight:400;color:var(--rd-ink);}
.rd-ship__opt input{margin-top:3px;accent-color:var(--rd-ink);flex:0 0 auto;}
.rd-ship__opt-body{flex:1;min-width:0;}
.rd-ship__opt-label{display:block;font-weight:600;font-size:14px;line-height:1.4;}
.rd-ship__opt-note{display:block;font-size:12.5px;color:var(--rd-muted);margin-top:3px;}
.rd-ship__opt-cost{font-family:var(--rd-display);font-weight:700;color:var(--rd-ink);white-space:nowrap;font-size:14px;}
.rd-ship__note{margin:12px 0 0;font-size:12.5px;color:var(--rd-muted);line-height:1.5;}
.rd-ship__free{margin:0;font-size:14px;color:var(--rd-ink);padding:15px 17px;background:#fff;border:1px solid var(--rd-line);border-radius:10px;}
.rd-ship__free strong{color:var(--rd-green-deep);}
.rd-ship__hint{margin:0;font-size:14px;color:var(--rd-muted);padding:15px 17px;background:#fff;border:1px dashed var(--rd-line);border-radius:10px;}
.rd-ship.is-loading{opacity:.5;pointer-events:none;}

/* --- Payment --- */
.rd-checkout__payment #payment{background:transparent;padding:0;border-radius:0;}
.rd-checkout__payment ul.payment_methods{list-style:none;margin:0;padding:0;border:1px solid var(--rd-line);border-radius:10px;overflow:hidden;background:#fff;}
/* Each method: radio + label on one row, its panel full width underneath. */
.rd-checkout__payment ul.payment_methods li.wc_payment_method{display:flex;flex-wrap:wrap;align-items:center;padding:0;border-bottom:1px solid var(--rd-line);transition:background .2s;}
.rd-checkout__payment ul.payment_methods li:last-child{border-bottom:none;}
.rd-checkout__payment ul.payment_methods li.wc_payment_method:has(>input:checked){background:var(--rd-sand);box-shadow:inset 3px 0 0 var(--rd-green);}
.rd-checkout__payment ul.payment_methods li>label{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:11px;margin:0;padding:16px 17px 16px 10px;font-size:14.5px;font-weight:600;color:var(--rd-ink);cursor:pointer;}
.rd-checkout__payment ul.payment_methods li>input[type="radio"]{flex:0 0 auto;width:18px;height:18px;margin:0 0 0 18px;accent-color:var(--rd-ink);cursor:pointer;}
.rd-checkout__payment ul.payment_methods li>label img{max-height:22px;width:auto;margin:0 0 0 auto;}
.rd-checkout__payment .payment_box{flex:0 0 100%;box-sizing:border-box;background:#fff;margin:0;padding:18px;font-size:13.5px;color:var(--rd-muted);border-top:1px solid var(--rd-line);}
.rd-checkout__payment .payment_box::before{display:none;}
/* Stripe card form: drop the bare fieldset frame and the lone saved-card radio. */
.rd-checkout__payment .payment_box fieldset{border:0;padding:0;margin:0;min-width:0;}
.rd-checkout__payment .payment_box .wc-saved-payment-methods[data-count="0"]{display:none;}
.rd-checkout__payment .payment_box .testmode-info{margin:0 0 14px;padding:9px 12px;background:#fff8e6;border:1px solid #f1dfae;border-radius:8px;font-size:12.5px;color:#6b5420;}
.rd-checkout__payment .payment_box p:last-child{margin-bottom:0;}
.rd-checkout__payment .woocommerce-privacy-policy-text{font-size:12.5px;color:var(--rd-muted);margin:16px 0 0;}
.rd-checkout__payment .woocommerce-terms-and-conditions-wrapper{margin-top:16px;font-size:13px;}
.rd-checkout__payment .place-order{padding:20px 0 0;margin:0;}
.rd-checkout__payment #place_order{width:100%;padding:18px!important;font-size:15px;}

/* --- Order summary --- */
.rd-osum__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:8px;}
.rd-osum__title{font-family:var(--rd-display);font-size:19px;margin:0;color:var(--rd-ink);}
.rd-osum__count{display:block;font-family:var(--rd-font);font-size:12.5px;font-weight:400;color:var(--rd-muted);margin-top:3px;}
.rd-osum__edit{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rd-green-deep);white-space:nowrap;}
.rd-osum__edit:hover{color:var(--rd-ink);}
.rd-osum__items{list-style:none;margin:0;padding:0;}
.rd-osum__item{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(22,21,15,.09);}
.rd-osum__thumb{position:relative;width:54px;}
.rd-osum__thumb img{width:54px;height:54px;object-fit:cover;border-radius:9px;display:block;background:#fff;}
.rd-osum__badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;background:var(--rd-ink);color:#fff;border-radius:999px;font-size:11px;font-weight:700;display:grid;place-items:center;border:2px solid var(--rd-sand);}
.rd-osum__body{min-width:0;}
.rd-osum__name{display:block;font-weight:600;font-size:13.5px;line-height:1.4;color:var(--rd-ink);}
.rd-osum__qty{display:block;font-size:12.5px;color:var(--rd-muted);margin-top:4px;}
.rd-osum__body dl.variation{margin:4px 0 0;font-size:12px;color:var(--rd-muted);}
.rd-osum__body dl.variation dt,.rd-osum__body dl.variation dd{display:inline;margin:0;}
.rd-osum__body dl.variation p{margin:0;display:inline;}
.rd-osum__line{font-family:var(--rd-display);font-weight:700;font-size:14px;color:var(--rd-ink);white-space:nowrap;justify-self:end;}
.rd-osum__totals{padding-top:16px;}
.rd-osum__row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:7px 0;font-size:14px;color:var(--rd-muted);}
.rd-osum__row>span:last-child{color:var(--rd-ink);font-weight:600;white-space:nowrap;text-align:right;}
.rd-osum__row em{display:block;font-style:normal;font-size:12px;font-weight:400;color:var(--rd-muted);margin-top:2px;}
.rd-osum__row--discount>span:last-child{color:var(--rd-green-deep);}
.rd-osum__row--discount .rd-coupon-remove{margin-left:6px;color:var(--rd-muted);text-decoration:none;}
.rd-osum__free{color:var(--rd-green-deep);font-weight:700;letter-spacing:.04em;}
.rd-osum__row--total{align-items:baseline;border-top:1px solid rgba(22,21,15,.14);margin-top:14px;padding-top:18px;}
.rd-osum__row--total>span:first-child{font-family:var(--rd-display);font-size:16px;font-weight:700;color:var(--rd-ink);}
.rd-osum__cur{font-size:12px;font-weight:600;color:var(--rd-muted);margin-right:6px;}
.rd-osum__grand{font-family:var(--rd-display);font-size:27px;font-weight:800;color:var(--rd-ink);}
.rd-osum__grand .woocommerce-Price-amount{font-size:inherit;font-weight:inherit;}
.rd-osum__note{margin:14px 0 0;font-size:12px;color:var(--rd-muted);line-height:1.5;}

/* --- Discount code --- */
.rd-coupon{margin:16px 0 4px;padding-top:16px;border-top:1px solid rgba(22,21,15,.09);}
.rd-coupon__row{display:flex;gap:8px;}
.rd-coupon__input{flex:1;min-width:0;padding:13px 14px;border:1px solid var(--rd-line);border-radius:10px;font-family:var(--rd-font);font-size:14px;background:#fff;color:var(--rd-ink);}
.rd-coupon__input:focus{outline:none;border-color:var(--rd-ink);box-shadow:0 0 0 3px rgba(22,21,15,.08);}
.rd-coupon__apply{white-space:nowrap;padding:13px 22px;font-size:12px;background:#fff;}
.rd-coupon__msg{margin:8px 0 0;font-size:12.5px;min-height:1em;}
.rd-coupon__msg.is-ok{color:var(--rd-green-deep);}
.rd-coupon__msg.is-err{color:#c0392b;}

/* --- Mobile summary disclosure (desktop: always open, no toggle) --- */
.rd-co__disclose>summary{display:none;}
.rd-co__disclose>summary::-webkit-details-marker{display:none;}
.rd-co__disclose-label{display:flex;align-items:center;gap:9px;}
.rd-co__disclose-label .rd-ico{width:18px;height:18px;}
.rd-co__disclose [data-rd-disclose-hide]{display:none;}
.rd-co__disclose[open] [data-rd-disclose-show]{display:none;}
.rd-co__disclose[open] [data-rd-disclose-hide]{display:inline;}

/* --- Checkout responsive --- */
@media (max-width:1024px){
	.rd-co__panes{grid-template-columns:1fr;}
	.rd-co__pane--main{order:2;justify-content:center;padding:30px 20px 84px;}
	.rd-co__pane--side{order:1;border-left:none;border-bottom:1px solid var(--rd-line);padding:0 20px;}
	.rd-co__pane--side .rd-co__inner{position:static;max-width:620px;margin:0 auto;}
	.rd-co__disclose>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;list-style:none;cursor:pointer;padding:17px 0;font-family:var(--rd-display);font-weight:700;font-size:14.5px;color:var(--rd-green-deep);}
	.rd-co__disclose>summary strong{font-family:var(--rd-display);font-size:19px;color:var(--rd-ink);}
	.rd-co__disclose[open]>summary{border-bottom:1px solid rgba(22,21,15,.1);}
	.rd-co__disclose-body{padding:16px 0 22px;}
	.rd-co__bar-inner{padding:16px 20px;}
	.rd-co__title{font-size:21px;}
	.rd-co__trust{margin-left:0;}
}
@media (max-width:640px){
	.rd-checkout__fields{grid-template-columns:1fr;}
	.rd-checkout .form-row-first,.rd-checkout .form-row-last{grid-column:1;}
	.rd-co__steps{font-size:12px;gap:8px;}
	.rd-co__steps li{gap:8px;}
	.rd-co__steps li+li::before{width:12px;}
	.rd-osum__grand{font-size:23px;}
	.rd-cart-row{grid-template-columns:72px 1fr;grid-template-areas:"thumb info" "thumb qty" "sub sub" "rm rm";gap:6px 14px;}
	.rd-cart-row__thumb{grid-area:thumb;}
	.rd-cart-row__thumb img{width:72px;height:72px;}
	.rd-cart-row__info{grid-area:info;}
	.rd-cart-row__qty{grid-area:qty;}
	.rd-cart-row__subtotal{grid-area:sub;}
	.rd-cart-row__remove{grid-area:rm;}
	.rd-cart__collaterals{justify-content:stretch;}
	.rd-carttotals{width:100%;}
	.rd-cart-drawer{width:100vw;}
}

/* ======================= Shop: collections + product grid ============== */
.page-hero__eyebrow{display:block;font-family:var(--rd-display);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:10px;}
.shop-main--single{padding-top:calc(var(--rd-header-h) + 30px);}

.rd-collections{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px;}
.rd-collections__chip{display:inline-flex;align-items:center;padding:10px 18px;border:1px solid var(--rd-line);border-radius:999px;background:#fff;font-family:var(--rd-display);font-weight:600;font-size:14px;color:var(--rd-ink);transition:background .2s,border-color .2s,color .2s;}
.rd-collections__chip:hover{border-color:var(--rd-green);color:var(--rd-green-deep);}
.rd-collections__chip.is-active{background:var(--rd-olive);border-color:var(--rd-olive);color:#fff;}

.rd-shop__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--rd-line);}
.rd-shop__bar .woocommerce-result-count{margin:0;color:var(--rd-muted);font-size:14px;}
.rd-shop__bar .woocommerce-ordering select,.rd-shop__bar select{padding:10px 14px;border:1px solid var(--rd-line);border-radius:var(--rd-radius);background:#fff;font-family:var(--rd-font);font-size:14px;color:var(--rd-ink);}

/* Product grid (own layout — not dependent on WooCommerce float styles) */
.woocommerce ul.products,.woocommerce-page ul.products,ul.products.rd-grid{display:grid!important;grid-template-columns:repeat(3,1fr);gap:28px;list-style:none;margin:0;padding:0;}
.woocommerce ul.products::before,.woocommerce ul.products::after{content:none!important;display:none!important;}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product,ul.products li.product.rd-card{width:auto!important;float:none!important;margin:0!important;clear:none!important;display:flex;flex-direction:column;background:#fff;border:1px solid var(--rd-line);border-radius:var(--rd-radius);overflow:hidden;transition:box-shadow .3s,transform .3s;}
li.product.rd-card:hover{box-shadow:var(--rd-shadow);transform:translateY(-3px);}
.rd-card__frame{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:var(--rd-sand);}
.rd-card__frame img{width:100%;height:100%;object-fit:cover;display:block;margin:0;transition:transform .6s var(--rd-ease);}
.rd-card__frame:hover img{transform:scale(1.05);}
.rd-card__flash{position:absolute;top:12px;left:12px;background:var(--rd-green);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px;}
.rd-card__flash--soon{background:var(--rd-olive);}
.rd-card__btn.is-disabled{opacity:.5;pointer-events:none;cursor:not-allowed;background:var(--rd-olive);border-color:var(--rd-olive);}
.rd-soon-price{font-family:var(--rd-display);font-weight:700;color:var(--rd-olive);}
.rd-pdp__oos--soon{background:var(--rd-olive);color:#fff;}
.rd-card__body{display:flex;flex-direction:column;flex:1;padding:18px 20px 20px;}
.rd-card__colour{font-family:var(--rd-display);font-weight:700;font-size:17px;margin:0 0 4px;padding:0;color:var(--rd-ink);}
.rd-card__colour a{color:inherit;}
.rd-card__dims{display:block;font-size:12px;color:var(--rd-muted);margin-bottom:8px;}
.rd-card__desc{font-size:13.5px;color:var(--rd-muted);line-height:1.55;margin:0 0 16px;}
.rd-card__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.rd-card__price{font-family:var(--rd-display);font-weight:800;font-size:18px;color:var(--rd-ink);line-height:1.2;}
.rd-card__price .price{font-size:18px;}
.rd-card__price em{display:block;font-style:normal;font-size:11px;font-weight:400;color:var(--rd-muted);letter-spacing:.04em;}
.woocommerce ul.products li.product a.button.rd-card__btn,.rd-card__btn{padding:10px 16px!important;font-size:12px!important;margin:0!important;}
.rd-card__actions{display:flex;gap:8px;flex-wrap:wrap;}
.rd-card__btn--buynow{background:var(--rd-ink);color:#fff;}
/* Make the whole card open the product page. The title link is stretched over
   the entire card via a pseudo-element; the action buttons are lifted above it
   so Add to Cart / Buy Now stay clickable. */
li.product.rd-card{position:relative;}
.rd-card__colour a::after{content:"";position:absolute;inset:0;z-index:1;}
.rd-card__actions{position:relative;z-index:2;}
.rd-shop__note{margin-top:40px;}

/* Shipping notes */
.rd-shipnote{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;}
.rd-shipnote__item{position:relative;padding-left:26px;font-size:13px;color:var(--rd-muted);line-height:1.5;}
.rd-shipnote__item::before{content:"";position:absolute;left:8px;top:7px;width:6px;height:6px;border-radius:50%;background:var(--rd-green);}
.rd-shipnote__item--free{color:var(--rd-green-deep);font-weight:600;}

/* =============================== Product detail ======================== */
/* Wider canvas: the decision column and the gallery both get room, and the
   accessories grid below has space for four cards across. */
.shop-main--single>.container{max-width:var(--rd-container-wide);}

.rd-pdp__crumbs{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--rd-muted);margin-bottom:24px;}
.rd-pdp__crumbs a{color:var(--rd-muted);}
.rd-pdp__crumbs a:hover{color:var(--rd-green-deep);}
.rd-pdp__crumbs .is-current{color:var(--rd-ink);font-weight:600;}
.rd-pdp__grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:70px;align-items:start;margin-bottom:0;}
/* WooCommerce's woocommerce-layout.css forces float+width:46.4% on div.summary
   and 48% on div.images. Neutralise both so our grid tracks are respected. */
.woocommerce .rd-pdp.product div.images,
.woocommerce .rd-pdp.product div.summary,
.rd-pdp__media .woocommerce-product-gallery,
.rd-pdp__summary{width:100%!important;float:none!important;margin-left:0;margin-right:0;}
.rd-pdp__media{position:sticky;top:calc(var(--rd-header-h) + 24px);align-self:start;}
.rd-pdp__media .woocommerce-product-gallery{margin:0!important;}
.rd-pdp__media .woocommerce-product-gallery__wrapper{margin:0!important;}
.rd-pdp__media img{border-radius:14px;display:block;height:auto;width:100%;object-fit:cover;}
.rd-pdp__media .woocommerce-product-gallery__image,
.rd-pdp__media .woocommerce-product-gallery__image a{display:block;aspect-ratio:1/1;overflow:hidden;border-radius:14px;}
.rd-pdp__media .woocommerce-product-gallery__image img{aspect-ratio:1/1;object-fit:cover;border-radius:0;}
.rd-pdp__media .flex-control-thumbs{display:flex;gap:12px;list-style:none;margin:14px 0 0;padding:0;}
.rd-pdp__media .flex-control-thumbs li{width:84px;float:none!important;margin:0!important;}
.rd-pdp__media .flex-control-thumbs img{border-radius:10px;cursor:pointer;opacity:.55;transition:opacity .2s;}
.rd-pdp__media .flex-control-thumbs img.flex-active,.rd-pdp__media .flex-control-thumbs img:hover{opacity:1;}

/* Reasons-to-buy strip under the gallery. Earns its place: it puts the
   warranty / durability / sample message where the eye already is, and it
   balances the taller decision column beside it. */
.rd-pdp__usp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;list-style:none;margin:20px 0 0;padding:0;background:var(--rd-line);border:1px solid var(--rd-line);border-radius:12px;overflow:hidden;max-width:100%;}
.rd-pdp__usp-item{display:flex;gap:11px;align-items:flex-start;background:#fff;padding:16px 18px;}
.rd-pdp__usp-item .rd-ico{width:20px;height:20px;flex:0 0 auto;color:var(--rd-green-deep);margin-top:2px;}
.rd-pdp__usp-body{min-width:0;}
.rd-pdp__usp-item strong{display:block;font-family:var(--rd-display);font-size:13.5px;font-weight:700;color:var(--rd-ink);line-height:1.3;}
.rd-pdp__usp-item em,.rd-pdp__usp-item a{display:block;font-style:normal;font-size:12px;color:var(--rd-muted);margin-top:3px;line-height:1.45;}
.rd-pdp__usp-item a{color:var(--rd-green-deep);text-decoration:underline;}

.rd-pdp__eyebrow{display:block;font-family:var(--rd-display);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rd-green-deep);margin-bottom:12px;}
.rd-pdp__title{font-family:var(--rd-display);font-size:clamp(28px,2.9vw,40px);line-height:1.12;margin:0 0 18px;color:var(--rd-ink);}
.rd-pdp__price{font-family:var(--rd-display);font-weight:800;font-size:34px;color:var(--rd-ink);margin:0 0 16px;line-height:1.1;}
.rd-pdp__price .price{font-size:34px;color:var(--rd-ink);}
.rd-pdp__price em{display:block;font-style:normal;font-size:12.5px;font-weight:400;color:var(--rd-muted);margin-top:5px;letter-spacing:.02em;}
.rd-pdp__desc{color:var(--rd-muted);line-height:1.7;margin-bottom:26px;max-width:58ch;}

/* Specs as a clean key/value table rather than loose pills. */
.rd-pdp__specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0 0 26px;background:var(--rd-line);border:1px solid var(--rd-line);border-radius:12px;overflow:hidden;}
.rd-pdp__spec{background:#fff;padding:14px 18px;}
.rd-pdp__spec dt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--rd-muted);margin:0 0 5px;}
.rd-pdp__spec dd{margin:0;font-family:var(--rd-display);font-weight:600;font-size:15px;color:var(--rd-ink);}

.rd-pdp__buy{border:1px solid var(--rd-line);border-radius:16px;padding:26px 28px;background:#fff;box-shadow:0 1px 3px rgba(22,21,15,.05);}
.rd-pdp__qtyrow{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;}
.rd-pdp__qtyfield{flex:0 0 auto;}
.rd-pdp__qtylabel{display:block;font-family:var(--rd-display);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rd-muted);margin-bottom:8px;}
.rd-qty--pdp input.qty{width:70px;height:50px;font-size:17px;}
.rd-qty--pdp .rd-qty__btn{height:50px;width:46px;font-size:20px;}
.rd-qty--sm input.qty{width:48px;height:38px;font-size:14px;}
.rd-qty--sm .rd-qty__btn{height:38px;width:34px;font-size:16px;}
.rd-pdp__calclink{display:flex;align-items:center;gap:11px;margin-left:auto;padding:11px 16px;background:var(--rd-sand);border:1px solid transparent;border-radius:12px;color:var(--rd-ink);cursor:pointer;text-align:left;transition:border-color .2s,background .2s;}
.rd-pdp__calclink:hover{border-color:var(--rd-green);background:#fff;}
.rd-pdp__calclink .rd-ico{width:22px;height:22px;flex:0 0 auto;color:var(--rd-green-deep);}
.rd-pdp__calclink strong{display:block;font-family:var(--rd-display);font-size:13.5px;font-weight:700;}
.rd-pdp__calclink em{display:block;font-style:normal;font-size:12px;color:var(--rd-muted);margin-top:1px;}

.rd-pdp__totals{margin-top:24px;padding-top:20px;border-top:1px solid var(--rd-line);}
.rd-pdp__totline{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:7px 0;font-size:14.5px;color:var(--rd-muted);}
.rd-pdp__totline strong{color:var(--rd-ink);font-weight:700;white-space:nowrap;}
.rd-pdp__totline--grand{border-top:1px solid var(--rd-line);margin-top:10px;padding-top:16px;font-family:var(--rd-display);}
.rd-pdp__totline--grand strong{font-size:24px;font-weight:800;}
.rd-pdp__totnote{margin:10px 0 0;font-size:12.5px;color:var(--rd-muted);line-height:1.5;}
.rd-pdp__actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;}
.rd-pdp__actions .btn{width:100%;justify-content:center;text-align:center;padding:17px 14px;}
.rd-pdp__actions .btn.is-loading{opacity:.6;pointer-events:none;}
.rd-pdp__meta{margin-top:22px;font-size:13px;color:var(--rd-muted);}
.rd-pdp__oos{padding:18px;background:var(--rd-sand);border-radius:12px;color:var(--rd-muted);}

/* ---- Accessories: full-width horizontal card grid ---- */
.rd-addons{margin-top:66px;padding-top:44px;border-top:1px solid var(--rd-line);}
.rd-addons__head{margin-bottom:26px;}
.rd-addons__title{font-family:var(--rd-display);font-size:clamp(22px,2.2vw,28px);margin:0 0 7px;color:var(--rd-ink);}
.rd-addons__sub{font-size:15px;color:var(--rd-muted);margin:0;max-width:72ch;line-height:1.6;}
/* auto-fit + a capped track: three add-ons sit as three tidy 320px cards
   instead of stretching to fill a four-column row, and more than four wrap. */
.rd-addons__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,320px));gap:20px;justify-content:start;}
.rd-acc-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--rd-line);border-radius:14px;overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s;}
.rd-acc-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(20,18,12,.1);}
.rd-acc-card.is-added{border-color:var(--rd-green);box-shadow:0 0 0 1px var(--rd-green);}
.rd-acc-card__frame{display:block;aspect-ratio:4/3;background:var(--rd-sand);overflow:hidden;}
.rd-acc-card__frame img{width:100%;height:100%;object-fit:cover;display:block;margin:0;border-radius:0;transition:transform .5s var(--rd-ease);}
.rd-acc-card:hover .rd-acc-card__frame img{transform:scale(1.05);}
.rd-acc-card__badge{position:absolute;top:12px;left:12px;background:rgba(22,21,15,.88);color:#fff;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px;}
.rd-acc-card__body{flex:1;padding:16px 18px 0;}
.rd-acc-card__name{display:block;font-family:var(--rd-display);font-weight:700;font-size:15.5px;line-height:1.3;color:var(--rd-ink);}
.rd-acc-card__name:hover{color:var(--rd-green-deep);}
.rd-acc-card__dims{display:block;font-size:12.5px;color:var(--rd-muted);margin-top:5px;}
.rd-acc-card__price{display:block;font-family:var(--rd-display);font-weight:800;font-size:17px;color:var(--rd-ink);margin-top:11px;}
.rd-acc-card__price em{font-style:normal;font-weight:400;font-size:12px;color:var(--rd-muted);}
.rd-acc-card__foot{display:flex;align-items:center;gap:12px;padding:15px 18px 18px;}
.rd-acc-card__added{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--rd-green-deep);opacity:0;transition:opacity .2s;}
.rd-acc-card__added .rd-ico{width:15px;height:15px;}
.rd-acc-card.is-added .rd-acc-card__added{opacity:1;}
.rd-acc-card__foot .rd-qty{margin-left:auto;}

/* ---- Sticky action bar ---- */
.rd-pdp__bar{position:fixed;left:0;right:0;bottom:0;z-index:940;background:rgba(255,255,255,.97);border-top:1px solid var(--rd-line);box-shadow:0 -10px 34px rgba(20,18,12,.12);transform:translateY(105%);transition:transform .32s var(--rd-ease);}
.rd-pdp__bar.is-visible{transform:none;}
.rd-pdp__bar-inner{display:flex;align-items:center;gap:22px;max-width:var(--rd-container-wide);margin:0 auto;padding:13px 24px;}
.rd-pdp__bar-thumb{flex:0 0 auto;}
.rd-pdp__bar-thumb img{width:48px;height:48px;object-fit:cover;border-radius:9px;display:block;}
.rd-pdp__bar-id{min-width:0;}
.rd-pdp__bar-name{display:block;font-family:var(--rd-display);font-weight:700;font-size:15px;color:var(--rd-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:36ch;}
.rd-pdp__bar-items{display:block;font-size:12.5px;color:var(--rd-muted);}
.rd-pdp__bar-total{margin-left:auto;text-align:right;flex:0 0 auto;}
.rd-pdp__bar-total span{display:block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--rd-muted);}
.rd-pdp__bar-total strong{font-family:var(--rd-display);font-size:22px;font-weight:800;color:var(--rd-ink);}
.rd-pdp__bar-actions{display:flex;gap:10px;flex:0 0 auto;}
.rd-pdp__bar-actions .btn{padding:14px 26px;}
.rd-pdp__bar-actions .btn.is-loading{opacity:.6;pointer-events:none;}
/* Keep the floating WhatsApp button clear of the bar. */
body.rd-bar-on .wa-float{transform:translateY(-78px);}

/* Product tabs (Description / Additional information / Reviews).
   Overrides WooCommerce's default grey pill tabs with clean underline tabs. */
.woocommerce div.product .woocommerce-tabs{margin-top:8px;padding-top:56px;border-top:1px solid var(--rd-line);}
.woocommerce div.product .woocommerce-tabs ul.tabs{list-style:none;margin:0 0 32px;padding:0;overflow:visible;display:flex;flex-wrap:wrap;gap:34px;border-bottom:1px solid var(--rd-line);}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after{display:none;content:none;border:0;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none;border:0;border-radius:0;margin:0;padding:0;box-shadow:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none;content:none;border:0;box-shadow:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;padding:0 0 14px;margin-bottom:-1px;font-family:var(--rd-display);font-weight:700;font-size:14px;letter-spacing:.04em;color:var(--rd-muted);border-bottom:2px solid transparent;transition:color .2s,border-color .2s;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{color:var(--rd-ink);}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--rd-ink);border-bottom-color:var(--rd-green);}
.woocommerce div.product .woocommerce-tabs .panel{margin:0;padding:0;max-width:78ch;color:var(--rd-muted);line-height:1.75;}
.woocommerce div.product .woocommerce-tabs .panel h2{font-family:var(--rd-display);font-size:22px;color:var(--rd-ink);margin:0 0 14px;}
.woocommerce div.product .woocommerce-tabs .panel table.shop_attributes th{color:var(--rd-ink);}

/* Related / upsell products */
.woocommerce div.product section.related,
.woocommerce div.product section.up-sells{margin-top:56px;padding-top:48px;border-top:1px solid var(--rd-line);}
.woocommerce div.product section.related > h2,
.woocommerce div.product section.up-sells > h2{font-family:var(--rd-display);font-size:24px;color:var(--rd-ink);margin:0 0 26px;}

/* Product detail responsive */
@media (max-width:1280px){
	.rd-pdp__grid{gap:48px;}
}
@media (max-width:1080px){
	.rd-pdp__grid{grid-template-columns:1fr;gap:36px;}
	/* Once the grid stacks to a single column, a sticky gallery has nothing
	   to stay level with and just traps the image/USP list mid-scroll —
	   the "stuck gallery" bug. Turn sticky off from here down. */
	.rd-pdp__media{position:static;top:auto;}
	.rd-pdp__media img{max-width:100%;}
	.rd-addons{margin-top:48px;padding-top:36px;}
	.rd-pdp__bar-thumb,.rd-pdp__bar-id{display:none;}
	.rd-pdp__bar-total{margin-left:0;text-align:left;}
	.rd-pdp__bar-actions{margin-left:auto;}
}
@media (max-width:640px){
	.rd-pdp__crumbs{margin-bottom:16px;font-size:12px;}
	.rd-pdp__grid{gap:26px;}
	.rd-pdp__media .woocommerce-product-gallery__image,
	.rd-pdp__media .woocommerce-product-gallery__image a{aspect-ratio:4/3;}
	.rd-pdp__media .woocommerce-product-gallery__image img{aspect-ratio:4/3;}
	.rd-pdp__usp{grid-template-columns:1fr;overflow:hidden;}
	.rd-pdp__title{font-size:26px;}
	.rd-pdp__price{font-size:28px;}
	.rd-pdp__price .price{font-size:28px;}
	.rd-pdp__specs{grid-template-columns:1fr;}
	.rd-pdp__buy{padding:18px;}
	.rd-pdp__qtyrow{align-items:stretch;flex-direction:column;gap:14px;}
	.rd-pdp__calclink{margin-left:0;width:100%;}
	.rd-pdp__actions{grid-template-columns:1fr;}
	.rd-addons{margin-top:36px;padding-top:28px;}
	.rd-addons__grid{grid-template-columns:minmax(0,1fr);}
	.rd-acc-card__frame{aspect-ratio:16/9;}
	.rd-pdp__bar-inner{gap:10px;padding:10px 14px;flex-wrap:wrap;}
	.rd-pdp__bar-total strong{font-size:18px;}
	.rd-pdp__bar-buy{display:none;}
	.rd-pdp__bar-actions .btn{padding:12px 18px;font-size:13px;}
	body.rd-bar-on .wa-float{transform:translateY(-64px);}
	/* The fixed bar overlaps the last bit of page content (e.g. the
	   calculator prompt box) once it slides in — push the page content up
	   by roughly the bar's height so nothing sits underneath it unseen. */
	body.rd-bar-on{padding-bottom:76px;}
}
@media (max-width:420px){
	.rd-pdp__bar-total{display:none;}
	.rd-pdp__bar-actions{width:100%;}
	.rd-pdp__bar-actions .btn{flex:1;}
}

/* =============================== Modal (calculator) ==================== */
.rd-modal{position:fixed;inset:0;z-index:1200;display:none;}
.rd-modal.is-open{display:block;}
.rd-modal__backdrop{position:absolute;inset:0;background:rgba(12,10,8,.6);}
.rd-modal__panel{position:relative;z-index:2;width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 48px);margin:24px auto;background:#fff;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.35);display:flex;flex-direction:column;overflow:hidden;}
.rd-modal__head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--rd-line);}
.rd-modal__title{font-family:var(--rd-display);font-size:22px;margin:0;color:var(--rd-ink);}
.rd-modal__close{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;line-height:1;color:var(--rd-muted);cursor:pointer;padding:4px;margin:-4px;}
.rd-modal__close:hover{color:var(--rd-ink);}
.rd-modal__body{padding:22px 24px;overflow-y:auto;}
.rd-modal__intro{font-size:14px;color:var(--rd-muted);margin:0 0 20px;}
.rd-calc__shipnote{font-size:12px;color:var(--rd-muted);margin:10px 0 0;font-style:italic;}
.rd-calc__shipnote--strong{font-size:13px;color:var(--rd-ink);font-style:normal;font-weight:700;}
/* The product selector label uses [hidden] to collapse when a single locked
   product leaves nothing to choose. .rd-field sets display:flex, which would
   otherwise override the attribute, so force it off here. */
.rd-field[hidden]{display:none!important;}
.rd-postcode-msg{display:block;font-size:12px;color:#c0392b;margin-top:6px;}
input.rd-field-invalid{border-color:#c0392b!important;}
.rd-calcm__row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.rd-calcm__out{background:var(--rd-sand);border-radius:var(--rd-radius);padding:16px 18px;margin-top:6px;}
.rd-calcm__line{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;font-size:14px;color:var(--rd-muted);}
.rd-calcm__line strong{color:var(--rd-ink);font-weight:700;}
.rd-calcm__line--total{border-top:1px solid var(--rd-line);margin-top:4px;padding-top:11px;}
.rd-calcm__line--grand{border-top:1px solid var(--rd-line);margin-top:4px;padding-top:11px;font-family:var(--rd-display);}
.rd-calcm__line--grand strong{font-size:19px;font-weight:800;}
.rd-modal__foot{display:flex;gap:10px;padding:18px 24px;border-top:1px solid var(--rd-line);background:#fff;flex-wrap:wrap;}
.rd-modal__foot .btn{flex:1;min-width:130px;justify-content:center;text-align:center;}

/* =============================== Order builder ========================= */
.rd-builder__step{margin-bottom:52px;}
.rd-builder__h{display:flex;align-items:center;gap:12px;font-family:var(--rd-display);font-size:24px;margin:0 0 22px;color:var(--rd-ink);}
.rd-builder__num{display:inline-grid;place-items:center;width:34px;height:34px;flex:0 0 auto;background:var(--rd-olive);color:#fff;border-radius:50%;font-size:15px;font-weight:700;}
.rd-builder__collections{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.rd-bcol{display:flex;gap:14px;align-items:center;padding:0;background:#fff;border:1px solid var(--rd-line);border-radius:var(--rd-radius);overflow:hidden;cursor:pointer;text-align:left;transition:border-color .2s,box-shadow .2s,transform .2s;}
.rd-bcol:hover{border-color:var(--rd-green);transform:translateY(-2px);box-shadow:var(--rd-shadow);}
.rd-bcol.is-active{border-color:var(--rd-olive);box-shadow:0 0 0 2px var(--rd-olive);}
.rd-bcol__img{width:88px;height:88px;flex:0 0 auto;background-size:cover;background-position:center;background-color:var(--rd-sand);}
.rd-bcol__body{padding:10px 14px 10px 0;min-width:0;flex:1 1 auto;}
.rd-bcol__name{display:block;font-family:var(--rd-display);font-weight:700;font-size:15px;color:var(--rd-ink);overflow-wrap:break-word;}
.rd-bcol__tag{display:block;font-size:12px;color:var(--rd-muted);margin-top:2px;overflow-wrap:break-word;}
.rd-bcol__count{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--rd-green-deep);margin-top:6px;font-weight:700;white-space:nowrap;}

.rd-builder__acc-note{margin:0 0 20px;padding:16px 20px;background:var(--rd-sand);border:1px solid var(--rd-line);border-radius:var(--rd-radius);}
.rd-builder__acc-note[hidden]{display:none!important;}
.rd-builder__acc-note-title{font-family:var(--rd-display);font-size:16px;margin:0 0 6px;color:var(--rd-ink);}
.rd-builder__acc-note-sub{font-size:13px;line-height:1.55;color:var(--rd-muted);margin:0;}
.rd-builder__swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.rd-bsw{display:flex;flex-direction:column;padding:0;background:#fff;border:1px solid var(--rd-line);border-radius:var(--rd-radius);overflow:hidden;cursor:pointer;text-align:left;transition:border-color .2s,box-shadow .2s,transform .2s;}
.rd-bsw:hover{border-color:var(--rd-green);transform:translateY(-2px);box-shadow:var(--rd-shadow);}
.rd-bsw.is-active{border-color:var(--rd-olive);box-shadow:0 0 0 2px var(--rd-olive);}
.rd-bsw__frame{display:block;aspect-ratio:1/1;overflow:hidden;background:var(--rd-sand);}
.rd-bsw__img{display:block;width:100%;height:100%;background-size:cover;background-position:center;transition:transform .5s var(--rd-ease);}
.rd-bsw:hover .rd-bsw__img{transform:scale(1.06);}
.rd-bsw__name{display:block;font-family:var(--rd-display);font-weight:700;font-size:15px;color:var(--rd-ink);padding:12px 14px 0;}
.rd-bsw__desc{display:block;font-size:12.5px;color:var(--rd-muted);line-height:1.5;padding:4px 14px 0;}
.rd-bsw__price{display:block;font-family:var(--rd-display);font-weight:800;font-size:15px;color:var(--rd-ink);padding:10px 14px 14px;margin-top:auto;}
.rd-bsw__price em{font-style:normal;font-weight:400;font-size:11px;color:var(--rd-muted);}

.rd-builder__grid{display:grid;grid-template-columns:1.25fr .9fr;gap:34px;align-items:start;}
.rd-bsel{display:grid;grid-template-columns:200px 1fr;gap:22px;background:#fff;border:1px solid var(--rd-line);border-radius:var(--rd-radius);overflow:hidden;}
.rd-bsel__img{min-height:200px;background-size:cover;background-position:center;background-color:var(--rd-sand);}
.rd-bsel__body{padding:22px 24px 24px 0;}
.rd-bsel__eyebrow{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--rd-green-deep);font-weight:700;margin-bottom:6px;}
.rd-bsel__name{font-family:var(--rd-display);font-size:24px;margin:0 0 8px;color:var(--rd-ink);}
.rd-bsel__desc{font-size:14px;color:var(--rd-muted);line-height:1.6;margin:0 0 8px;}
.rd-bsel__dims{display:block;font-size:12px;color:var(--rd-muted);margin-bottom:8px;}
.rd-bsel__price{display:block;font-family:var(--rd-display);font-weight:800;font-size:20px;color:var(--rd-ink);margin-bottom:16px;}
.rd-bsel__price em{font-style:normal;font-weight:400;font-size:12px;color:var(--rd-muted);}

.rd-bacc{margin-top:24px;background:#fff;border:1px solid var(--rd-line);border-radius:var(--rd-radius);padding:20px 22px;}
.rd-bacc__title{font-family:var(--rd-display);font-size:16px;margin:0 0 4px;color:var(--rd-ink);}
.rd-bacc__sub{font-size:13px;color:var(--rd-muted);margin:0 0 16px;}
.rd-bacc__row{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--rd-line);}
.rd-bacc__row:last-child{border-bottom:none;}
.rd-bacc__img{width:56px;height:56px;border-radius:8px;background-size:cover;background-position:center;background-color:var(--rd-sand);}
.rd-bacc__name{display:block;font-family:var(--rd-display);font-weight:600;font-size:14px;color:var(--rd-ink);}
.rd-bacc__dims{display:block;font-size:12px;color:var(--rd-muted);margin-top:2px;}
.rd-bacc__price{display:block;font-size:13px;font-weight:700;color:var(--rd-ink);margin-top:3px;}
.rd-bacc__price em{font-style:normal;font-weight:400;color:var(--rd-muted);}

.rd-builder__summary{background:#fff;border:1px solid var(--rd-line);border-radius:var(--rd-radius);box-shadow:var(--rd-shadow);padding:24px;position:sticky;top:calc(var(--rd-header-h) + 20px);}
.rd-builder__sum-title{font-family:var(--rd-display);font-size:18px;margin:0 0 14px;color:var(--rd-ink);}
.rd-builder__lines{list-style:none;margin:0 0 14px;padding:0;}
.rd-builder__line{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--rd-line);font-size:14px;color:var(--rd-ink);}
.rd-builder__line em{font-style:normal;color:var(--rd-muted);}
.rd-builder__line--empty{color:var(--rd-muted);border-bottom:none;}
.rd-builder__totline{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;font-size:14px;color:var(--rd-muted);}
.rd-builder__totline strong{color:var(--rd-ink);font-weight:700;}
.rd-builder__totline--grand{border-top:1px solid var(--rd-line);margin-top:6px;padding-top:12px;font-family:var(--rd-display);}
.rd-builder__totline--grand strong{font-size:20px;font-weight:800;}
.rd-builder__actions{display:flex;flex-direction:column;gap:10px;margin-top:20px;}
.rd-builder__actions .btn{width:100%;justify-content:center;text-align:center;}
.rd-builder__more{margin-top:40px;padding-top:30px;border-top:1px solid var(--rd-line);}
.rd-builder__more-title{font-family:var(--rd-display);font-size:20px;margin:0 0 6px;color:var(--rd-ink);}
.rd-builder__more-sub{font-size:14px;color:var(--rd-muted);margin:0 0 16px;}
.rd-builder__more-list{margin-top:20px;background:#fff;border:1px solid var(--rd-line);border-radius:var(--rd-radius);padding:20px 22px;}

/* Shop / product responsive */
@media (max-width:1080px){
	.woocommerce ul.products,.woocommerce-page ul.products,ul.products.rd-grid{grid-template-columns:repeat(2,1fr);}
	.rd-builder__collections{grid-template-columns:repeat(2,1fr);}
	.rd-builder__swatches{grid-template-columns:repeat(3,1fr);}
	.rd-builder__grid{grid-template-columns:1fr;}
	.rd-builder__summary{position:static;}
}
@media (max-width:640px){
	.woocommerce ul.products,.woocommerce-page ul.products,ul.products.rd-grid{grid-template-columns:1fr;gap:20px;}
	.rd-builder__collections{grid-template-columns:1fr;}
	.rd-builder__swatches{grid-template-columns:1fr 1fr;}
	.rd-bsel{grid-template-columns:1fr;}
	.rd-bsel__body{padding:18px 20px 22px;}
	.rd-bsel__img{min-height:220px;}
	.rd-calcm__row{grid-template-columns:1fr;}
	.rd-modal__foot{flex-direction:column;}
	.rd-modal__foot .btn{width:100%;}
}

/* =====================================================================
   Product photography — 1075×716 (3:2) landscape.
   Every product image slot uses the photo's own ratio so boards and the
   "RevoDeck™ <colour>" caption are shown in full, never cropped square.
   Kept at the end of the file so it also overrides the earlier responsive
   ratios (4/3, 16/9) and stays consistent on every screen size.
   ===================================================================== */
:root{--rd-photo:1075/716;}

/* Shop / category / homepage product cards */
.rd-card__frame{aspect-ratio:var(--rd-photo);}

/* Product detail gallery + its thumbnails */
.rd-pdp__media .woocommerce-product-gallery__image,
.rd-pdp__media .woocommerce-product-gallery__image a,
.rd-pdp__media .woocommerce-product-gallery__image img{aspect-ratio:var(--rd-photo);}
.rd-pdp__media .flex-control-thumbs li img{aspect-ratio:var(--rd-photo);object-fit:cover;width:100%;height:auto;border-radius:8px;}

/* Accessory cards, builder swatches, sample wizard tiles + review */
.rd-acc-card__frame,
.rd-bsw__frame,
.rd-tile__img,
.rd-review__img,
.rd-sample-card__img{aspect-ratio:var(--rd-photo);}

/* Small thumbnails (cart, drawer, checkout summary, invoice, sticky bar,
   add-ons, sample order list): same width as before, 3:2 height. */
.rd-cart-row__thumb img,
.rd-mini-item__thumb img,
.rd-osum__thumb img,
.rd-invoice__line-thumb img,
.rd-pdp__bar-thumb img,
.rd-pdp__addon-thumb img{height:auto!important;aspect-ratio:var(--rd-photo);object-fit:cover;}
.rd-cart-row__thumb img{width:104px;}
.rd-invoice__line-thumb{height:auto;}
.rd-pdp__addon-thumb{height:auto;aspect-ratio:var(--rd-photo);}
.rd-pdp__bar-thumb img{width:64px;}
.rd-sw__order-img{width:60px;height:40px;}
@media (max-width:640px){
	.rd-cart-row__thumb img{width:72px;}
}

/* Calculator modal locked to one product (product pages): the Product field
   is shown read-only — same box as the other fields, greyed, with a lock
   icon instead of a dropdown arrow so it doesn't look changeable. */
.rd-field__locked{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:13px 14px;border:1px solid var(--rd-line);border-radius:var(--rd-radius);background:var(--rd-sand);color:var(--rd-ink);font-family:var(--rd-font);font-size:16px;line-height:1.3;cursor:not-allowed;box-sizing:border-box;}
.rd-field__locked-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rd-field__locked .rd-ico{flex:0 0 auto;width:16px;height:16px;color:var(--rd-muted);}

/* =====================================================================
   Select fields — one consistent dropdown arrow site-wide.
   Browsers draw their own arrow tight against the right edge, at slightly
   different sizes and heights per browser. Replace it with a centred
   chevron and matching padding so every select looks the same.
   Arrow props use !important because several components set the
   `background` shorthand (which would otherwise wipe the arrow).
   ===================================================================== */
select:not([multiple]):not([size]){
	-webkit-appearance:none;-moz-appearance:none;appearance:none;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%2316150f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
	background-repeat:no-repeat!important;
	background-position:right 16px center!important;
	background-size:12px 8px!important;
	padding-right:44px!important;
	text-overflow:ellipsis;white-space:nowrap;overflow:hidden;
	cursor:pointer;
}
select:not([multiple]):not([size])::-ms-expand{display:none;}
select:disabled{cursor:not-allowed;opacity:.6;}
select:focus-visible{outline:none;border-color:var(--rd-green);box-shadow:0 0 0 3px rgba(47,158,47,.12);}

/* Select2 (checkout State / Country): same chevron, vertically centred. */
.select2-container--default .select2-selection--single .select2-selection__arrow{top:0!important;right:12px!important;width:20px!important;height:100%!important;}
.select2-container--default .select2-selection--single .select2-selection__arrow b{
	border:0!important;width:12px!important;height:8px!important;
	left:50%!important;top:50%!important;margin:-4px 0 0 -6px!important;
	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%2316150f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/12px 8px!important;
	transition:transform .2s;
}
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{transform:rotate(180deg);}
