/* RhinoShield replica — theme layer on top of the localized reference CSS (ref.css). */
:root{
  --rh-black:#000; --rh-white:#fff; --rh-gray-100:#1a1a1a; --rh-gray-80:#333;
  --rh-yellow:#ffd400; --rh-green:#00a86b; --rh-red:#c8102e;
  --rh-maxw:1340px; --rh-radius:4px;
}
html,body{font-family:"Inter","PingFang TC","Arial","Verdana",system-ui,sans-serif;color:#000;background:#fff;}
body.rh{overflow-x:hidden;}
body.rh.rh-no-scroll{overflow:hidden;}
img{max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
button{font:inherit;}
.skip-link{position:absolute;left:-9999px;top:0;background:#000;color:#fff;padding:10px 16px;z-index:9999;}
.skip-link:focus{left:8px;top:8px;}
.rh-main{min-height:40vh;}

/* ---------- announcement ---------- */
.rh-header .rh-announce[hidden]{display:none;}

/* ---------- desktop mega panels ---------- */
.rh-mega-wrap{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid #e5e5e5;box-shadow:0 18px 30px -18px rgba(0,0,0,.25);z-index:60;}
.rh-mega-wrap[hidden]{display:none;}
.rh-mega[hidden]{display:none;}
.rh-mega__inner{display:flex;gap:48px;max-width:1340px;margin:0 auto;padding:32px 40px 40px;}
.rh-mega__title{font-weight:700;font-size:15px;margin:0 0 12px;letter-spacing:.01em;}
.rh-mega__links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.rh-mega__link{display:flex;align-items:center;gap:10px;font-size:14px;color:#333;}
.rh-mega__link:hover{text-decoration:underline;}
.rh-mega__img{width:28px;height:28px;object-fit:contain;}
.rh-header .rh-nav-item.is-active{border-bottom-color:#000;}

/* ---------- mobile drawer ---------- */
.rh-drawer{position:fixed;inset:0;z-index:200;display:none;}
.rh-drawer.is-open{display:block;}
.rh-drawer__panel{position:absolute;inset:0;background:#fff;display:flex;flex-direction:column;max-width:520px;width:100%;}
.rh-drawer__top{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e5e5;}
.rh-drawer__brand{font-weight:700;font-size:16px;}
.rh-drawer__back{display:flex;align-items:center;gap:8px;background:none;border:0;font:inherit;font-size:16px;font-weight:600;padding:0;cursor:pointer;}
.rh-drawer__close{background:none;border:0;padding:6px;cursor:pointer;display:flex;}
.rh-drawer__body{flex:1;overflow-y:auto;padding:8px 0 24px;}
.rh-drawer__item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 20px;font-size:18px;font-weight:500;background:none;border:0;border-bottom:1px solid #f1f1f1;text-align:left;cursor:pointer;color:#000;}
.rh-drawer__sub{list-style:none;margin:0;padding:0;}
.rh-drawer__sub .rh-drawer__item{font-size:16px;font-weight:400;padding-left:32px;}
.rh-drawer__footer{display:flex;gap:18px;padding:20px;border-top:1px solid #e5e5e5;font-size:14px;}
.rh-drawer__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5);z-index:-1;}

/* ---------- cart drawer ---------- */
.rh-cart-drawer{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:92vw;background:#fff;z-index:300;display:flex;flex-direction:column;transform:translateX(105%);transition:transform .25s ease;box-shadow:-18px 0 40px -24px rgba(0,0,0,.45);}
.rh-cart-drawer.is-open{transform:translateX(0);}
.rh-cart-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #e5e5e5;}
.rh-cart-drawer__head h2{font-size:18px;margin:0;font-weight:600;}
.rh-cart-drawer__close{background:none;border:0;padding:6px;cursor:pointer;}
.rh-cart-drawer__ship{padding:10px 20px;background:#f7f7f7;font-size:13px;}
.rh-ship-note{margin:0;}
.rh-ship-note--ok{color:#0a7a3d;}
.rh-cart-drawer__body{flex:1;overflow-y:auto;padding:8px 20px;}
.rh-cart-empty{padding:40px 0;text-align:center;color:#777;}
.rh-cart-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;}
.rh-cart-item{display:grid;grid-template-columns:86px 1fr auto;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid #eee;}
.rh-cart-item__pic{width:86px;height:105px;object-fit:contain;background:#f6f6f6;}
.rh-cart-item__name{margin:0 0 4px;font-size:14px;font-weight:500;}
.rh-cart-item__variant{margin:0 0 4px;font-size:12px;color:#777;}
.rh-cart-item__qty{display:inline-flex;align-items:center;border:1px solid #ddd;border-radius:20px;margin-top:6px;}
.rh-cart-item__qty button{width:28px;height:28px;border:0;background:none;cursor:pointer;font-size:16px;}
.rh-cart-item__qty span{min-width:22px;text-align:center;font-size:13px;}
.rh-cart-item__remove{background:none;border:0;color:#888;font-size:12px;text-decoration:underline;padding:6px 0;cursor:pointer;}
.rh-cart-item__price{font-size:14px;font-weight:600;white-space:nowrap;}
.rh-cart-drawer__foot{border-top:1px solid #e5e5e5;padding:16px 20px 20px;display:flex;flex-direction:column;gap:10px;}
.rh-cart-drawer__subtotal{display:flex;justify-content:space-between;font-size:15px;}
.rh-cart-drawer__checkout{display:block;text-align:center;}
.rh-cart-drawer__view{text-align:center;font-size:13px;text-decoration:underline;}
.rh-cart-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:290;}
.rh-cart-backdrop[hidden]{display:none;}
.rh-cart-count{position:absolute;top:-7px;right:-9px;min-width:16px;height:16px;border-radius:9px;background:#000;color:#fff;font-size:10px;line-height:16px;text-align:center;padding:0 4px;}
.rh-cart-count[data-empty="1"]{display:none;}

/* ---------- added to cart card ---------- */
.rh-added{position:fixed;top:88px;right:24px;width:340px;max-width:92vw;background:#fff;border:1px solid #e5e5e5;box-shadow:0 18px 40px -22px rgba(0,0,0,.45);z-index:310;padding:16px;}
.rh-added[hidden]{display:none;}
.rh-added__head{font-size:13px;font-weight:600;margin:0 0 12px;display:flex;justify-content:space-between;}
.rh-added__row{display:flex;gap:12px;}
.rh-added__img{width:64px;height:78px;object-fit:contain;background:#f6f6f6;}
.rh-added__name{margin:0 0 2px;font-size:13px;font-weight:600;}
.rh-added__sub{font-size:12px;color:#777;margin:0 0 4px;}
.rh-added__price{font-size:13px;font-weight:600;}
.rh-added__actions{display:flex;gap:8px;margin-top:12px;}
.rh-added__view{flex:1;text-align:center;border:1px solid #000;padding:9px 0;font-size:13px;font-weight:600;}
.rh-added__keep{flex:1;text-align:center;background:#000;color:#fff;padding:9px 0;font-size:13px;font-weight:600;border:1px solid #000;cursor:pointer;}

/* ---------- buttons (reference classes exist; safety net) ---------- */
.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:600;border:1px solid transparent;transition:all .18s ease;cursor:pointer;background:#fff;color:#000;}
.button--white{border-color:#000;background:#fff;color:#000;}
.button--white:hover{background:#000;color:#fff;}
.button--black{background:#000;color:#fff;border-color:#000;}
.button--black:hover{background:#333;}
.button--large{height:52px;padding:0 32px;font-size:15px;}
.button--medium{height:44px;padding:0 26px;font-size:14px;}

/* ---------- generic sections / page shells ---------- */
.rh-container{max-width:1340px;margin:0 auto;padding:0 20px;}
.rh-page-title{font-family:"Lemur Rhinoshield",Inter,sans-serif;font-size:40px;font-weight:700;line-height:1.1;margin:40px 0 24px;}
.rh-section{padding:56px 0;}
.rh-section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px;}
.rh-section__title{font-family:"Lemur Rhinoshield",Inter,sans-serif;font-size:34px;font-weight:700;line-height:1.1;margin:0;}
.rh-section__eyebrow{font-size:13px;color:#777;margin:0 0 6px;}
.rh-link-more{font-size:13px;border:1px solid #000;border-radius:999px;padding:8px 18px;white-space:nowrap;}
.rh-grid{display:grid;gap:16px;}
.rh-grid--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.rh-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.rh-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
@media (max-width:1023px){.rh-grid--4{grid-template-columns:repeat(2,minmax(0,1fr));}.rh-grid--3{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.rh-grid--4,.rh-grid--3,.rh-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}.rh-page-title{font-size:30px;}.rh-section__title{font-size:26px;}}

/* ---------- product card ---------- */
.rh-card{position:relative;display:flex;flex-direction:column;gap:10px;background:#fff;}
.rh-card__media{position:relative;display:block;aspect-ratio:3/4;background:#f6f6f6;overflow:hidden;}
.rh-card__img{width:100%;height:100%;object-fit:contain;transition:opacity .25s ease;}
.rh-card__badge{position:absolute;top:8px;left:8px;background:#000;color:#fff;font-size:11px;font-weight:600;padding:3px 8px;border-radius:2px;text-transform:uppercase;letter-spacing:.04em;}
.rh-card__colors{display:flex;gap:4px;align-items:center;height:16px;}
.rh-card__dot{width:12px;height:12px;border-radius:50%;border:1px solid rgba(0,0,0,.15);}
.rh-card__dot--more{width:auto;height:auto;border:0;font-size:11px;color:#555;line-height:1;}
.rh-card__title{margin:0;font-size:14px;font-weight:500;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rh-card__sub{margin:0;font-size:12px;color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rh-card__price{display:flex;align-items:baseline;gap:6px;font-size:14px;font-weight:600;}
.rh-price__was{color:#999;font-weight:400;font-size:13px;text-decoration:line-through;}
.rh-price__now{color:#000;}
.rh-card__quick{position:absolute;right:8px;bottom:8px;width:36px;height:36px;border-radius:50%;background:#1e3a8a;color:#fff;display:none;align-items:center;justify-content:center;}
.rh-card:hover .rh-card__quick{display:flex;}
@media (hover:none){.rh-card__quick{display:none!important;}}

/* ---------- PDP (buy page) ---------- */
.rh-buy{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);gap:48px;padding:32px 0 72px;align-items:start;}
.rh-buy__gallery{position:sticky;top:100px;display:flex;gap:12px;}
.rh-buy__thumbs{display:flex;flex-direction:column;gap:8px;width:64px;flex:0 0 64px;}
.rh-buy__thumb{width:64px;height:80px;object-fit:contain;background:#f6f6f6;border:1px solid transparent;cursor:pointer;}
.rh-buy__thumb.is-active{border-color:#000;}
.rh-buy__main{position:relative;flex:1;aspect-ratio:3/4;background:#f6f6f6;overflow:hidden;}
.rh-buy__main img{width:100%;height:100%;object-fit:contain;}
.rh-buy__info{display:flex;flex-direction:column;gap:18px;}
.rh-buy__title{font-family:"Lemur Rhinoshield",Inter,sans-serif;font-size:30px;font-weight:700;line-height:1.15;margin:0;}
.rh-buy__subtitle{margin:0;color:#666;font-size:14px;}
.rh-buy__prices{display:flex;align-items:baseline;gap:10px;font-size:20px;font-weight:700;}
.rh-buy__prices .rh-price__was{font-size:16px;}
.rh-buy__socialproof{font-size:13px;color:#444;display:flex;flex-direction:column;gap:4px;}
.rh-buy__countdown{font-variant-numeric:tabular-nums;}
.rh-option{margin:0;}
.rh-option__label{font-size:13px;font-weight:600;margin:0 0 8px;}
.rh-option__values{display:flex;flex-wrap:wrap;gap:8px;}
.rh-option__btn{border:1px solid #ddd;background:#fff;border-radius:999px;padding:8px 16px;font-size:13px;cursor:pointer;}
.rh-option__btn.is-active{border-color:#000;background:#000;color:#fff;}
.rh-option__btn[disabled]{opacity:.35;cursor:not-allowed;}
.rh-swatches{display:flex;flex-wrap:wrap;gap:8px;}
.rh-swatch{width:32px;height:32px;border-radius:50%;border:2px solid transparent;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);cursor:pointer;background-size:cover;background-position:center;}
.rh-swatch.is-active{border-color:#000;}
.rh-swatch--img{background-size:cover;}
.rh-buy__add{height:56px;width:100%;font-size:16px;}
.rh-buy__meta{font-size:12px;color:#666;display:flex;flex-direction:column;gap:6px;}
.rh-buy__trust{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:#444;}
.rh-accordion{border-top:1px solid #e5e5e5;}
.rh-accordion details{border-bottom:1px solid #e5e5e5;padding:14px 0;}
.rh-accordion summary{font-size:14px;font-weight:600;cursor:pointer;list-style:none;}
.rh-accordion summary::-webkit-details-marker{display:none;}
.rh-accordion .rh-accordion__body{padding-top:10px;font-size:13px;color:#444;line-height:1.6;}
@media (max-width:900px){.rh-buy{grid-template-columns:1fr;gap:24px;padding-top:16px;}.rh-buy__gallery{position:static;}.rh-buy__title{font-size:24px;}}

/* ---------- PLP ---------- */
.rh-plp{display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;padding:24px 0 64px;}
.rh-plp__side{font-size:13px;}
.rh-plp__side h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin:24px 0 10px;}
.rh-plp__side ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.rh-plp__side a{color:#444;}
.rh-plp__side a.is-active{font-weight:700;color:#000;}
.rh-plp__top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:20px;}
.rh-plp__count{font-size:13px;color:#777;}
@media (max-width:900px){.rh-plp{grid-template-columns:1fr;}.rh-plp__side{display:none;}}

/* ---------- content pages ---------- */
.rh-content{max-width:880px;margin:0 auto;padding:32px 20px 80px;line-height:1.7;font-size:15px;}
.rh-content h1,.rh-content h2,.rh-content h3{font-family:"Lemur Rhinoshield",Inter,sans-serif;line-height:1.2;}
.rh-content img{margin:20px auto;}
.rh-content table{width:100%;border-collapse:collapse;}
.rh-content td,.rh-content th{border:1px solid #ddd;padding:8px;}

/* ---------- cookie ---------- */
.rh-cookie{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #ddd;box-shadow:0 -8px 30px -20px rgba(0,0,0,.4);z-index:400;padding:16px 20px;}
.rh-cookie[hidden]{display:none;}
.rh-cookie__inner{max-width:1340px;margin:0 auto;display:flex;gap:20px;align-items:center;flex-wrap:wrap;}
.rh-cookie__copy{flex:1;min-width:260px;}
.rh-cookie__title{font-weight:700;margin:0 0 4px;font-size:14px;}
.rh-cookie__text{margin:0;font-size:12px;color:#555;}
.rh-cookie__actions{display:flex;gap:8px;}
.rh-cookie__btn{border:1px solid #000;background:#fff;border-radius:999px;padding:9px 18px;font-size:12px;font-weight:600;cursor:pointer;}
.rh-cookie__accept{background:#000;color:#fff;}
.rh-cookie__close{border:0;background:none;font-size:22px;line-height:1;cursor:pointer;padding:4px 8px;}

/* ---------- misc ---------- */
.rh-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;border:1px solid #e5e5e5;border-radius:999px;padding:6px 12px;}
.rh-ratio-3-4{aspect-ratio:3/4;}
.rh-hidden{display:none!important;}
.rh-loading{opacity:.6;pointer-events:none;}
.rh-newsletter-done{color:#0a7a3d;font-size:13px;margin-top:8px;}

/* ---------- homepage hero / rails ---------- */
.rh-hero{position:relative;width:100%;overflow:hidden;background:#d9e2ea;}
.rh-hero__media{display:block;width:100%;}
.rh-hero__media img{width:100%;height:auto;display:block;object-fit:cover;}
.rh-hero__content{position:absolute;left:0;right:0;bottom:0;padding:0 40px 44px;color:#000;}
.rh-hero__sub{font-size:15px;margin:0 0 6px;font-weight:500;}
.rh-hero__title{font-family:"Lemur Rhinoshield",Inter,sans-serif;font-size:64px;line-height:1;margin:0 0 22px;font-weight:700;}
.rh-hero__cta{border-radius:999px;height:52px;padding:0 34px;background:#fff;border:1px solid #000;color:#000;display:inline-flex;align-items:center;font-weight:600;}
.rh-hero__cta:hover{background:#000;color:#fff;}
@media (max-width:900px){.rh-hero__content{padding:0 20px 24px;}.rh-hero__title{font-size:34px;}.rh-hero__sub{font-size:13px;}}
.rh-rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;-webkit-overflow-scrolling:touch;}
.rh-rail::-webkit-scrollbar{display:none;}
.rh-rail__item{flex:0 0 210px;scroll-snap-align:start;display:flex;flex-direction:column;gap:10px;}
.rh-rail__img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#f6f6f6;}
.rh-rail__title{font-size:13px;font-weight:500;margin:0;text-align:left;color:#111;}
.rh-card--static{display:flex;flex-direction:column;gap:10px;}
.rh-card__media--square{aspect-ratio:1/1;}
.rh-card--static .rh-card__title{font-weight:600;font-size:14px;}
.rh-section__sub{color:#555;font-size:15px;margin:10px 0 0;max-width:760px;}
.rh-cards{grid-template-columns:repeat(4,minmax(0,1fr));}
@media (max-width:1100px){.rh-cards{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:860px){.rh-cards{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* ---------- design studio ---------- */
.rh-ip-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin-top:28px;}
.rh-ip{display:flex;flex-direction:column;gap:8px;}
.rh-ip__img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#f4f4f4;}
.rh-ip__img--fallback{display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:700;color:#999;}
.rh-ip__name{font-size:13px;font-weight:600;}
.rh-ip__count{font-size:11px;color:#888;}
@media (max-width:1100px){.rh-ip-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (max-width:760px){.rh-ip-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
.rh-ip-banner{margin:24px 0;max-height:420px;overflow:hidden;background:#f4f4f4;}
.rh-ip-banner img{width:100%;height:100%;object-fit:cover;}
.rh-design-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;}
.rh-design{display:flex;flex-direction:column;gap:6px;}
.rh-design__img{width:100%;aspect-ratio:3/4;object-fit:contain;background:#f6f6f6;}
.rh-design__name{font-size:12px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media (max-width:1100px){.rh-design-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (max-width:600px){.rh-design-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
.rh-design-pdp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;padding:28px 0;}.rh-design-pdp > *{min-width:0;}
.rh-design-pdp__media{background:#f6f6f6;aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;}
.rh-design-pdp__media img{width:100%;height:100%;object-fit:contain;}
.rh-design-pdp__info{display:flex;flex-direction:column;gap:18px;}
@media (max-width:900px){.rh-design-pdp{grid-template-columns:minmax(0,1fr);}.rh-design-pdp > *{min-width:0;}}

/* ---------- tabs (products overview) ---------- */
.rh-tabs__nav{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid #e5e5e5;margin:24px 0 28px;}
.rh-tabs__btn{background:none;border:0;padding:14px 16px;font-size:14px;font-weight:600;color:#777;cursor:pointer;white-space:nowrap;border-bottom:3px solid transparent;}
.rh-tabs__btn.is-active{color:#000;border-bottom-color:#000;}

/* ---------- reference-CSS order fixes (chunks were concatenated; later md rules
   could override earlier lg rules, so re-assert the responsive utilities we use) ---------- */
html,body{height:auto;min-height:100%;}
body.rh{overflow-y:auto;}
html.rh-cookie-open,body.rh-cookie-open{overflow:auto;}
@media (min-width:768px){
  .md\:aspect-1\/1{aspect-ratio:1/1;}
  .md\:aspect-4\/5{aspect-ratio:4/5;}
}
@media (min-width:1080px){
  .lg\:aspect-3\/1{aspect-ratio:3/1;}
  .lg\:aspect-2\/1{aspect-ratio:2/1;}
  .lg\:aspect-1\/1{aspect-ratio:1/1;}
  .lg\:aspect-4\/5{aspect-ratio:4/5;}
  .lg\:aspect-16\/9{aspect-ratio:16/9;}
  .lg\:hidden{display:none !important;}
  .lg\:flex{display:flex !important;}
}
@media (max-width:1079px){
  .lg\:hidden{display:initial;}
}

/* ---------- homepage hero carousel (reference markup, hydrated by rh.js) ---------- */
main > section[data-testid="home-banner"]{position:relative;overflow:hidden;background:var(--gray-20,#e6e7e7);}
main > section[data-testid="home-banner"] > .rh-hero-viewport{width:100%;height:100%;overflow:hidden;}
.rh-hero-slides{display:flex !important;height:100%;width:100%;transition:transform .5s ease;will-change:transform;}
.rh-hero-slide{flex:0 0 100% !important;width:100% !important;height:100% !important;position:relative;}
.rh-hero-slide>a{display:block;width:100%;height:100%;}
.rh-hero-slide picture,.rh-hero-slide img{display:block;width:100%;height:100%;object-fit:cover;}
.rh-hero-dots{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5;}
.rh-hero-dot{width:8px;height:8px;border-radius:50%;background:rgba(0,0,0,.25);border:0;padding:0;cursor:pointer;}
.rh-hero-dot.is-active{background:#1d1d1e;}
.rh-hero-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.85);border:1px solid #ddd;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;}
.rh-hero-arrow--prev{left:16px;}
.rh-hero-arrow--next{right:16px;}
@media (max-width:760px){
  main > section[data-testid="home-banner"]{aspect-ratio:4/5;}
  main > section[data-testid="home-banner"] .rh-hero-copy{padding:0 20px 24px;}
  .rh-hero-arrow{display:none;}
}
.rh-rail-nav{display:flex;justify-content:flex-end;gap:8px;padding:8px 0;}
.rh-rail-btn{width:34px;height:34px;border-radius:50%;border:1px solid #d2d4d5;background:#fff;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.rh-rail-btn:hover{background:#1d1d1e;color:#fff;}
.grid-scroll{scroll-behavior:smooth;}

/* Legacy chunks in the concatenated reference CSS set html{font-size:62.5%}; the live
   reference site uses the browser default 16px root (measured), so re-assert it. */
html{font-size:16px !important;}
.rh-header nav a,.rh-header nav button,.rh-header nav .rh-nav-item{color:var(--black,#1d1d1e);}
.rh-header nav .rh-cart-count{color:#fff;}

/* ---------- cart page ---------- */
.rh-cart-page{max-width:1340px;margin:0 auto;padding:28px 30px 80px;}
.rh-cart-page__title{font-family:"Lemur Rhinoshield",Inter,sans-serif;font-size:30px;font-weight:700;letter-spacing:-.01em;margin:0 0 26px;text-transform:uppercase;}
.rh-cart-page__empty{padding:60px 0;border-top:1px solid #e6e7e7;display:flex;flex-direction:column;gap:18px;align-items:flex-start;}
.rh-cart-table{border-top:1px solid #e6e7e7;}
.rh-cart-table__head,.rh-cart-table__row{display:grid;grid-template-columns:minmax(0,1fr) 110px 120px 120px 24px;gap:16px;align-items:center;}
.rh-cart-table__head{padding:14px 0;border-bottom:1px solid #e6e7e7;font-size:12px;color:#979b9d;text-transform:uppercase;letter-spacing:.04em;}
.rh-cart-table__row{padding:18px 0;border-bottom:1px solid #e6e7e7;}
.rh-cart-table__c--product{display:flex;gap:16px;align-items:center;}
.rh-cart-line__media img{width:86px;height:106px;object-fit:contain;background:#f5f5f5;}
.rh-cart-line__name{margin:0 0 4px;font-size:14px;font-weight:600;}
.rh-cart-line__variant{margin:0 0 3px;font-size:12px;color:#6b6e6f;}
.rh-cart-line__save{margin:4px 0 0;font-size:12px;color:#3e8e80;}
.rh-cart-line__remove{margin-top:8px;background:none;border:0;padding:0;color:#808485;font-size:12px;text-decoration:underline;cursor:pointer;}
.rh-qty-stepper{display:inline-flex;align-items:center;border:1px solid #d2d4d5;border-radius:999px;}
.rh-qty-stepper button{width:32px;height:32px;border:0;background:none;cursor:pointer;font-size:15px;}
.rh-qty-stepper span{min-width:24px;text-align:center;font-size:13px;}
.rh-cart-bottom{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:60px;margin-top:44px;align-items:start;}
.rh-cart-notes h2{font-family:"Lemur Rhinoshield",Inter,sans-serif;font-size:20px;margin:0 0 14px;}
.rh-cart-notes__list{margin:0;padding-left:20px;font-size:13px;line-height:1.6;color:#444647;display:flex;flex-direction:column;gap:8px;}
.rh-cart-summary{border:1px solid #e6e7e7;padding:22px;background:#fff;}
.rh-cart-summary__rows{border-top:1px solid #e6e7e7;padding-top:14px;font-size:14px;}
.rh-cart-summary__row{display:flex;justify-content:space-between;padding:7px 0;}
.rh-cart-summary__note{font-size:12px;color:#808485;margin:6px 0 0;}
.rh-cart-summary__checkout{display:block;text-align:center;width:100%;margin-top:18px;}
.rh-cart-summary__trust{font-size:11px;color:#6b6e6f;margin:12px 0 0;line-height:1.5;}
@media (max-width:900px){
  .rh-cart-table__head{display:none;}
  .rh-cart-table__row{grid-template-columns:1fr 90px;grid-template-areas:'p t' 'q q';}
  .rh-cart-table__c--price{display:none;}
  .rh-cart-table__c--qty{grid-area:q;}
  .rh-cart-table__c--total{grid-area:t;text-align:right;}
  .rh-cart-bottom{grid-template-columns:1fr;gap:26px;}
}

/* ---------- checkout ---------- */
.rh-checkout{max-width:1340px;margin:0 auto;padding:28px 30px 80px;}
.rh-checkout__title{font-family:"Lemur Rhinoshield",Inter,sans-serif;font-size:30px;margin:0 0 24px;font-weight:700;}
.rh-checkout__cols{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:56px;align-items:start;}
.rh-checkout__left h2,.rh-checkout__right h2{font-family:"Lemur Rhinoshield",Inter,sans-serif;font-size:20px;margin:26px 0 12px;font-weight:600;}
.rh-checkout__left .form-row{margin-bottom:14px;}
.rh-checkout__left label{display:block;font-size:12px;font-weight:600;margin-bottom:5px;}
.rh-checkout__left input[type=text],.rh-checkout__left input[type=email],.rh-checkout__left input[type=tel],.rh-checkout__left input[type=password],.rh-checkout__left select,.rh-checkout__left textarea{width:100%;height:46px;border:1px solid #d2d4d5;border-radius:2px;padding:0 12px;font-size:14px;background:#fff;}
.rh-checkout__left textarea{height:auto;min-height:80px;padding:10px 12px;}
.rh-checkout__left .form-row-first,.rh-checkout__left .form-row-last{width:calc(50% - 7px);display:inline-block;}
.rh-checkout__left .form-row-first{margin-right:10px;}
.rh-checkout__right{border:1px solid #e6e7e7;padding:22px;background:#fff;position:sticky;top:110px;}
.rh-checkout__review table.shop_table{width:100%;border-collapse:collapse;font-size:13px;}
.rh-checkout__review table.shop_table th,.rh-checkout__review table.shop_table td{border-bottom:1px solid #eee;padding:10px 0;text-align:left;vertical-align:top;}
.rh-checkout__review .cart_item .product-name{font-weight:600;}
.rh-checkout__review .cart_item .product-total,.rh-checkout__review .cart-subtotal td,.rh-checkout__review .order-total td{text-align:right;}
.rh-checkout__review .order-total .amount{font-size:18px;font-weight:700;}
.rh-checkout__terms{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.5;margin:12px 0;color:#444647;}
.rh-checkout__terms input{margin-top:3px;}
.rh-checkout__terms a{text-decoration:underline;}
.rh-checkout__place{width:100%;margin-top:10px;}
.rh-checkout__payicons{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.rh-checkout__payicons img{width:38px;height:24px;object-fit:contain;border:0;border-radius:2px;padding:0;}
.rh-checkout__trust{font-size:12px;color:#6b6e6f;margin-top:16px;display:flex;flex-direction:column;gap:4px;}
.rh-checkout__trust p{margin:0;}
.rh-checkout .wc_payment_methods{list-style:none;margin:0 0 18px;padding:0;}
.rh-checkout .wc_payment_method{border:1px solid #e6e7e7;padding:12px 14px;margin-bottom:8px;border-radius:3px;}
.rh-checkout .wc_payment_method label{font-weight:600;font-size:13px;}
@media (max-width:1000px){.rh-checkout__cols{grid-template-columns:1fr;}.rh-checkout__right{position:static;}}
.rh-payment-slot .form-row.place-order{display:none;}
.rh-payment-slot .wc_payment_methods{border:0;padding:0;}
.rh-checkout .wc_payment_method.rh-payment-method--stripe{border:0;padding:0;margin:0 0 18px;}
.rh-payment-badges.rh-checkout__payicons{margin-top:0;}
.rh-checkout__charity{margin-top:20px;padding-top:20px;border-top:1px solid #e6e7e7;}
.rh-checkout__charity h3{margin:0 0 8px;font-size:15px;font-weight:700;line-height:1.5;}
.rh-checkout__charity p{margin:0;color:#626767;font-size:13px;line-height:1.7;}
.rh-checkout .rh-payment-badges img{display:block;float:none;width:38px;height:24px;max-height:none;margin:0;border-radius:2px;object-fit:contain;}

/* ---------- design studio landing ---------- */
.rh-ds-banner{position:relative;aspect-ratio:1440/420;overflow:hidden;background:#f2f2f2;margin:20px 0 30px;}
.rh-ds-banner__slide{position:absolute;inset:0;opacity:0;transition:opacity .4s ease;}
.rh-ds-banner__slide.is-active{opacity:1;}
.rh-ds-banner__slide img{width:100%;height:100%;object-fit:cover;}
.rh-ds-banner__title{position:absolute;left:32px;bottom:28px;color:#fff;font-family:"Lemur Rhinoshield",Inter,sans-serif;font-size:36px;font-weight:600;text-shadow:0 2px 18px rgba(0,0,0,.4);}
.rh-ds-group{margin:34px 0;}
.rh-ds-group__title{font-family:"Lemur Rhinoshield",Inter,sans-serif;font-size:22px;font-weight:600;margin:0 0 14px;}
.rh-ds-tile .rh-rail__img{aspect-ratio:1/1;object-fit:cover;border-radius:8px;}
.rh-ds-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;}
.rh-ds-chip{border:1px solid #d2d4d5;background:#fff;border-radius:999px;padding:9px 18px;font-size:13px;cursor:pointer;}
.rh-ds-chip.is-active{background:#1d1d1e;color:#fff;border-color:#1d1d1e;}
.rh-ds-cols{column-count:3;column-gap:40px;}
.rh-ds-link{display:block;padding:7px 0;font-size:14px;border-bottom:1px solid #eee;break-inside:avoid;}
.rh-ds-link:hover{text-decoration:underline;}
@media (max-width:900px){.rh-ds-cols{column-count:2;}.rh-ds-banner{aspect-ratio:4/5;}.rh-ds-banner__title{font-size:22px;left:16px;bottom:16px;}}
.rh-device-grid{display:flex;flex-wrap:wrap;gap:8px;}
.rh-device{border:1px solid #d2d4d5;border-radius:999px;padding:8px 14px;font-size:13px;background:#fff;}
.rh-device:hover{background:#1d1d1e;color:#fff;}

/* ---------- responsive grid utility re-assertions (concatenated CSS chunks can put
   md/lg rules out of order; the reference site loads them in a stable cascade) ---------- */
@media (min-width:768px){
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
  .md\:auto-cols-\[calc\(7\/12\*100\%\)\]{grid-auto-columns:58.3333%;}
}
@media (min-width:1080px){
  .lg\:grid-cols-none{grid-template-columns:none;}
  .lg\:grid-auto-flow-col{grid-auto-flow:column;}
  .lg\:grid-auto-cols-\[calc\(2\/12\*100\%\)\]{grid-auto-columns:16.6667%;}
  .lg\:auto-cols-\[calc\(4\/12\*100\%\)\]{grid-auto-columns:33.3333%;}
  .lg\:auto-cols-\[calc\(2\/12\*100\%\)\]{grid-auto-columns:16.6667%;}
  .lg\:overflow-x-auto{overflow-x:auto;}
  .lg\:snap-x{scroll-snap-type:x var(--un-scroll-snap-strictness,proximity);}
  .lg\:snap-proximity{--un-scroll-snap-strictness:proximity;}
  .lg\:scrollbar-hide{scrollbar-width:none;}
  .lg\:scrollbar-hide::-webkit-scrollbar{display:none;}
}
/* best-seller card internals (scoped component CSS expects a square media box) */
.best-seller__item[data-v-947fbd8d] .w-full.aspect-1\/1{width:100%;}
.best-seller__item[data-v-947fbd8d] img{width:100%;height:100%;object-fit:contain;}

/* ---------- /products product line cards (reference product-landscape-card) ---------- */
.rh-products-cat__head{display:flex;align-items:baseline;gap:12px;margin:26px 0 18px;}
.rh-products-cat__title{font-family:"Lemur Rhinoshield",Inter,sans-serif;font-size:28px;font-weight:700;margin:0;}
.rh-products-cat__count{font-size:13px;font-weight:700;color:#3c4238;margin:0;}
.rh-line-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;}
.rh-line-card{display:flex;flex-direction:column;gap:8px;padding:10px 10px 14px;border:1px solid #e6e7e7;background:#fff;position:relative;transition:box-shadow .2s;}
.rh-line-card:hover{box-shadow:0 8px 24px -14px rgba(0,0,0,.25);}
.rh-line-card__media{position:relative;display:block;aspect-ratio:1/1;background:#f6f6f6;overflow:hidden;}
.rh-line-card__media img{width:100%;height:100%;object-fit:contain;transition:transform .2s;}
.rh-line-card:hover .rh-line-card__media img{transform:scale(1.05);}
.rh-line-card__badge{position:absolute;top:0;left:0;background:#c8102e;color:#fff;font-size:11px;font-weight:600;padding:2px 8px;z-index:2;}
.rh-line-card__name{font-size:14px;font-weight:600;text-align:center;}
.rh-line-card__desc{font-size:12px;color:#6b6e6f;text-align:center;line-height:1.35;}
.rh-line-card__meta{font-size:11px;color:#979b9d;text-align:center;}
.rh-tabs__panel[hidden]{display:none;}
@media (max-width:1100px){.rh-line-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (max-width:700px){.rh-line-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
.rh-ds-line-tiles{display:flex;gap:10px;overflow-x:auto;margin:4px 0 18px;}
.rh-ds-line-tile{flex:0 0 104px;display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid #e6e7e7;background:#fff;padding:8px 6px;font-size:12px;text-align:center;}
.rh-ds-line-tile img{width:64px;height:64px;object-fit:contain;}
.rh-ds-line-tile.is-active{border-color:#1d1d1e;box-shadow:0 0 0 1px #1d1d1e inset;}
.rh-ds-line-tile span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;}
.rh-model-values{display:flex;flex-wrap:wrap;gap:8px;}
.rh-model-btn{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;}
.rh-model-btn__img{width:34px;height:42px;object-fit:contain;background:#f6f6f6;border-radius:4px;}
.rh-added-design{display:none;}

/* ---------- footer: reference measurements (3 equal link columns, 80/20/20 padding) ---------- */
#footer .rh-footer-groups{display:flex;flex-wrap:wrap;width:100%;}
#footer .link-group{width:33.3333%;padding:80px 20px 20px;box-sizing:border-box;}
#footer .link-group h3{font-size:16px;line-height:1.35;font-weight:600;margin:0;}
#footer .link-group > div{margin-top:16px;display:flex;flex-direction:column;gap:8px;}
#footer .link-group a,#footer .link-group > div > span{display:block;font-size:14px;line-height:1.35;font-weight:400;color:#fff;opacity:.92;}
#footer .link-group a:hover{text-decoration:underline;}
@media (max-width:1080px){
  #footer .link-group{width:50%;padding:28px 16px 8px;}
  #footer .link-group h3{font-size:14px;}
  #footer .link-group a,#footer .link-group > div > span{font-size:13px;}
}
@media (max-width:576px){
  #footer .link-group{width:100%;}
}

/* ---------- search results ---------- */
.rh-search__form{display:flex;gap:10px;max-width:620px;margin:18px 0 26px;}
.rh-search__form input{flex:1;height:46px;border:1px solid #d2d4d5;border-radius:999px;padding:0 18px;font-size:14px;}
.rh-search__count{font-size:13px;color:#6b6e6f;margin:0 0 22px;}
.rh-search__title{font-size:20px;font-weight:600;margin:26px 0 14px;}
.rh-search__title span{color:#979b9d;font-weight:400;font-size:14px;}
.rh-search__hint{color:#6b6e6f;font-size:14px;}
.rh-search-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px;}
.rh-search-list li{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eff0f0;padding:12px 0;}
.rh-search-list a{font-size:15px;color:#1d1d1e;}
.rh-search-list a:hover{text-decoration:underline;}
.rh-search-list__type{font-size:12px;color:#979b9d;}
.rh-pagination{display:flex;gap:8px;justify-content:center;margin:36px 0 8px;font-size:14px;}
.rh-pagination .page-numbers{padding:6px 12px;border:1px solid #e2e3e3;}
.rh-pagination .current{background:#1d1d1e;color:#fff;}

/* ---------- account: login / register / panel ---------- */
.rh-woo-page{padding-top:0 !important;}
.rh-auth{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #e6e7e7;background:#fff;margin:0 auto 60px;max-width:1160px;}
.rh-auth__col{padding:60px 64px 64px;}
.rh-auth__col--login{border-right:1px solid #e6e7e7;}
.rh-auth__title{font-family:"Lemur Rhinoshield",Inter,sans-serif;font-size:26px;font-weight:700;margin:0 0 26px;color:#1d1d1e;}
.rh-form{max-width:460px;}
.rh-form__row{display:flex;flex-direction:column;gap:6px;margin:0 0 16px;}
.rh-form__row label{font-size:13px;font-weight:500;color:#3c4238;}
.rh-form__row input[type=text],.rh-form__row input[type=email],.rh-form__row input[type=password]{height:48px;border:1px solid #d2d4d5;border-radius:2px;padding:0 14px;font-size:14px;background:#fff;}
.rh-form__row input:focus-visible{outline:2px solid #1d1d1e;outline-offset:-1px;}
.rh-form__row--inline{flex-direction:row;align-items:center;justify-content:space-between;gap:14px;margin-top:6px;}
.rh-check{display:flex;align-items:center;gap:8px;font-size:13px;color:#3c4238;}
.rh-auth__lost{margin:12px 0 0;font-size:13px;}
.rh-auth__lost a{text-decoration:underline;color:#1d1d1e;}
.rh-auth__benefits p{font-size:14px;color:#3c4238;margin:0 0 12px;}
.rh-auth__benefits ul{margin:0 0 26px;padding-left:18px;font-size:13px;color:#6b6e6f;line-height:1.7;}
.rh-auth__register{margin-top:22px;max-width:100%;}
.rh-auth__toggle{margin-top:4px;}
@media (max-width:900px){.rh-auth{grid-template-columns:1fr;}.rh-auth__col{padding:36px 24px;}.rh-auth__col--login{border-right:0;border-bottom:1px solid #e6e7e7;}}
/* account panel */
.woocommerce-account .woocommerce-MyAccount-navigation,.rh-account-nav{width:250px;float:left;padding-right:36px;}
.woocommerce-account .woocommerce-MyAccount-content{width:calc(100% - 250px);float:right;}
.rh-account-nav__user{font-size:15px;margin:0 0 18px;}
.rh-account-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.rh-account-nav a{display:block;padding:10px 14px;border-left:2px solid transparent;font-size:14px;color:#3c4238;}
.rh-account-nav a:hover{background:#f6f6f6;}
.rh-account-nav .is-active a{border-left-color:#1d1d1e;background:#f6f6f6;font-weight:600;color:#1d1d1e;}
.rh-account-dash__title{font-size:24px;font-weight:700;margin:0 0 8px;}
.rh-account-dash__hello,.rh-account-dash__intro{font-size:14px;color:#3c4238;margin:0 0 8px;}
.rh-account-dash__cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:26px;}
.rh-account-card{display:flex;flex-direction:column;gap:4px;border:1px solid #e6e7e7;padding:18px 20px;background:#fff;}
.rh-account-card strong{font-size:15px;color:#1d1d1e;}
.rh-account-card span{font-size:12px;color:#6b6e6f;}
.rh-account-card:hover{border-color:#1d1d1e;}
.woocommerce-account .woocommerce-MyAccount-content table{border-collapse:collapse;width:100%;font-size:13px;}
.woocommerce-account .woocommerce-MyAccount-content th,.woocommerce-account .woocommerce-MyAccount-content td{border-bottom:1px solid #eff0f0;padding:10px 8px;text-align:left;}
.woocommerce-account .woocommerce-MyAccount-content h2,.woocommerce-account .woocommerce-MyAccount-content h3{font-size:20px;margin:0 0 14px;}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button,.woocommerce-account .woocommerce-MyAccount-content button.button{background:#1d1d1e;color:#fff;border:0;padding:12px 22px;border-radius:999px;font-size:14px;cursor:pointer;}
.woocommerce-account .woocommerce-MyAccount-content input[type=text],.woocommerce-account .woocommerce-MyAccount-content input[type=email],.woocommerce-account .woocommerce-MyAccount-content input[type=password],.woocommerce-account .woocommerce-MyAccount-content select,.woocommerce-account .woocommerce-MyAccount-content textarea{width:100%;height:44px;border:1px solid #d2d4d5;border-radius:2px;padding:0 12px;font-size:14px;}
.woocommerce-account .woocommerce-MyAccount-content textarea{height:auto;padding:10px 12px;}
.woocommerce-account .woocommerce-MyAccount-content .form-row{margin:0 0 14px;}
.woocommerce-account .woocommerce-MyAccount-content label{font-size:13px;color:#3c4238;display:block;margin-bottom:4px;}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address{width:48%;display:inline-block;vertical-align:top;margin-bottom:24px;}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h3{margin:0 0 6px;}
@media (max-width:800px){
  .woocommerce-account .woocommerce-MyAccount-navigation,.rh-account-nav,.woocommerce-account .woocommerce-MyAccount-content{width:100%;float:none;padding-right:0;}
  .rh-account-dash__cards{grid-template-columns:1fr;}
}

/* ---------- reference content pages (legal/support/contact) ---------- */
.rh-content{max-width:1152px;margin:0 auto;padding:56px 24px 88px;font-size:14px;line-height:1.35;color:#1d1d1e;}
.rh-content .rh-page-title,.rh-content > h1{font-family:"Lemur Rhinoshield",Inter,sans-serif;font-size:clamp(26px,3vw,40px);line-height:1.15;font-weight:700;margin:0 0 26px;}
.rh-content h1{font-size:34px;line-height:1.2;margin:0 0 22px;}
.rh-content h2{font-size:22px;line-height:1.3;font-weight:600;margin:34px 0 14px;}
.rh-content h3{font-size:17px;line-height:1.35;font-weight:600;margin:24px 0 10px;}
.rh-content p{margin:0 0 14px;}
.rh-content ul,.rh-content ol{margin:0 0 16px;padding-left:20px;line-height:1.5;}
.rh-content li{margin:0 0 6px;}
.rh-content a{text-decoration:underline;text-underline-offset:2px;color:#1d1d1e;}
.rh-content hr{border:0;border-top:1px solid #e6e7e7;margin:28px 0;}
.rh-content img{max-width:100%;height:auto;}
.rh-content iframe,.rh-content video,.rh-content lite-youtube{max-width:100%;display:block;}
.rh-content lite-youtube{aspect-ratio:16/9;background:#f1f1f1;border-radius:4px;}
.rh-content form{margin:16px 0 24px;max-width:520px;}
.rh-content input[type=text],.rh-content input[type=email],.rh-content input[type=search],.rh-content select,.rh-content textarea{width:100%;height:46px;border:1px solid #d2d4d5;border-radius:2px;padding:0 14px;font-size:14px;margin:6px 0 12px;background:#fff;}
.rh-content textarea{height:auto;padding:10px 14px;}
.rh-content button,.rh-content input[type=submit]{background:#1d1d1e;color:#fff;border:0;border-radius:999px;padding:12px 26px;font-size:14px;cursor:pointer;}
/* static page wrappers (reference replays already contain own margins) */
.rh-static-page{padding:0;}
.rh-static-page .rh-content{max-width:none;padding:0;}
/* policy tabs (static replay) */
.policy-tabs{max-width:100%;}
.policy-tabs > .flex{flex-wrap:wrap;gap:8px;}
@media (max-width:700px){
  .rh-content{padding:32px 16px 56px;}
  .rh-content h1{font-size:26px;}
  .rh-content h2{font-size:19px;}
}

/* ---------- device map ---------- */
.rh-devicemap__hero{padding:24px 0 6px;}
.rh-devicemap__hero .rh-page-title{margin:0 0 10px;}
.rh-devicemap__hero p{font-size:14px;color:#6b6e6f;margin:0 0 22px;}
.rh-devicemap__tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 26px;}
.rh-devicemap__tab{border:1px solid #d2d4d5;border-radius:999px;padding:8px 18px;font-size:13px;background:#fff;}
.rh-devicemap__tab.is-active{background:#1d1d1e;color:#fff;border-color:#1d1d1e;}
.rh-ds-group__title{margin:26px 0 12px;}
.rh-device-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;}
.rh-device{display:flex;align-items:center;justify-content:center;border:1px solid #e6e7e7;border-radius:2px;padding:12px 8px;font-size:13px;background:#fff;text-align:center;line-height:1.3;}
.rh-device:hover{border-color:#1d1d1e;background:#f9f9f9;}
@media (max-width:1080px){.rh-device-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:576px){.rh-device-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
/* policy tabs from static replay: allow wrap + active state */
.policy-tabs button,.policy-tabs [role=tab]{white-space:nowrap;padding:10px 14px;font-size:13px;background:none;border:0;border-bottom:2px solid transparent;cursor:pointer;}
.policy-tabs button.is-active,.policy-tabs [role=tab].is-active,.policy-tabs [aria-selected=true]{border-bottom-color:#1d1d1e;font-weight:600;}
@media (max-width:700px){.policy-tabs [role=tablist],.policy-tabs > div:first-child{overflow-x:auto;flex-wrap:nowrap;}}

/* hero overlay contrast for dark slides */
.rh-hero-overlay.is-light-text p,.rh-hero-overlay.is-light-text h2{color:#fff !important;}

/* ---------- order tracking ---------- */
.rh-track-page{max-width:560px;}
.rh-track-page__intro{font-size:14px;color:#6b6e6f;margin:0 0 26px;}
.rh-track-form{max-width:300px;margin:0 auto;display:flex;flex-direction:column;gap:14px;}
.rh-track-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:#3c4238;}
.rh-track-form input{height:46px;border:1px solid #d2d4d5;border-radius:2px;padding:0 12px;font-size:14px;background:#fff;}
.rh-track-form__btn{width:100%;margin-top:6px;}
.rh-track-result{margin:30px auto 0;max-width:520px;border:1px solid #e6e7e7;padding:22px 24px;font-size:14px;}
.rh-track-result h2{font-size:20px;margin:0 0 12px;}
.rh-track-error{margin:24px auto 0;max-width:420px;color:#c8102e;font-size:14px;}
.rh-content .button--outline{background:#fff;border:1px solid #1d1d1e;color:#1d1d1e;}

/* buttons inside content keep their own colors */
.rh-content a.button,.rh-content a.button:hover{text-decoration:none;color:#fff;}
.rh-content a.button--outline,.rh-content a.button--outline:hover{color:#1d1d1e;}
.rh-content a.button--white,.rh-content a.button--white:hover{color:#1d1d1e;}

/* ---------- product line landing ---------- */
.rh-line-intro{font-size:14px;color:#6b6e6f;margin:0 0 20px;}
.rh-line-devices .rh-option__values{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;}
.rh-line-devices .rh-option__btn{flex:0 0 auto;}
.rh-line-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 26px;flex-wrap:wrap;}
.rh-line-count{font-size:13px;color:#6b6e6f;margin:0;}

/* ---------- IP collection ---------- */
.rh-ip-head{display:flex;align-items:center;gap:16px;margin:8px 0 14px;}
.rh-ip-head__icon{width:64px;height:64px;object-fit:contain;border-radius:50%;background:#f6f6f6;padding:6px;}
.rh-ip-head .rh-page-title{margin:0;}
.rh-ip-head__count{font-size:13px;color:#6b6e6f;margin:4px 0 0;}
.rh-ip-banner{margin:0 0 10px;border-radius:4px;overflow:hidden;background:#f6f6f6;}
.rh-ip-banner img{width:100%;max-height:420px;object-fit:cover;display:block;}
.rh-ip-toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e6e7e7;padding:0 0 12px;margin:22px 0 18px;font-size:13px;color:#3c4238;}
.rh-design-grid--4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
@media (max-width:1080px){.rh-design-grid--4{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:700px){.rh-design-grid--4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}}

/* ---------- products overview ---------- */
.rh-products__hero{padding:22px 0 20px;max-width:980px;}
.rh-products__hero p{font-size:15px;color:#6b6e6f;margin:12px 0 0;}
.rh-products__devices{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:14px 0 26px;border-bottom:1px solid #e6e7e7;}
.rh-products__devices-label{font-size:13px;font-weight:600;margin-right:4px;}
.rh-products__section{padding:34px 0 0;}
.rh-line-grid--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.rh-line-card__ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:38px;font-weight:700;color:#1d1d1e;background:#f6f6f6;}
@media (max-width:1100px){.rh-line-grid--4{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:700px){.rh-line-grid--4{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* ---------- PDP extra sections ---------- */
.rh-pdp-rail{padding:46px 0 10px;}
.rh-pdp-rail__head{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px;}
.rh-pdp-rail__head h2{font-size:26px;font-weight:700;margin:0;}
.rh-design-card{flex:0 0 180px;}
.rh-design-card__img{aspect-ratio:1/1;object-fit:cover;background:#f6f6f6;}
.rh-pdp-cross{padding:36px 0 10px;border-top:1px solid #eff0f0;margin-top:26px;}
.rh-pdp-cross h2{font-size:24px;font-weight:700;margin:0 0 16px;}
.rh-pdp-cross__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:760px;}
.rh-pdp-cross__card{display:flex;flex-direction:column;gap:6px;border:1px solid #e6e7e7;padding:12px;background:#fff;}
.rh-pdp-cross__card img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#f6f6f6;}
.rh-pdp-cross__name{font-size:13px;font-weight:500;}
.rh-pdp-cross__price{font-size:14px;font-weight:600;}
.rh-pdp-tabs{padding:30px 0 6px;border-top:1px solid #eff0f0;margin-top:26px;}
.rh-pdp-tabs details{border-bottom:1px solid #eff0f0;}
.rh-pdp-tabs summary{cursor:pointer;list-style:none;padding:18px 2px;font-size:16px;font-weight:600;display:flex;justify-content:space-between;align-items:center;}
.rh-pdp-tabs summary::after{content:'+';font-size:20px;font-weight:400;}
.rh-pdp-tabs details[open] summary::after{content:'−';}
.rh-pdp-tabs__body{padding:0 2px 20px;font-size:14px;line-height:1.55;color:#3c4238;}
.rh-pdp-tabs__body ul{margin:0;padding-left:18px;}
.rh-pdp-payments{padding:26px 0 40px;}
.rh-pdp-payments p{font-size:13px;color:#6b6e6f;margin:0 0 10px;}
.rh-pdp-payments__row{display:flex;flex-wrap:wrap;gap:6px;}
.rh-pdp-payments__row img{width:38px;height:24px;border-radius:2px;border:1px solid #eff0f0;background:#fff;object-fit:contain;}
.rh-buy-sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;background:rgba(255,255,255,.97);border-top:1px solid #e6e7e7;transform:translateY(110%);transition:transform .25s;box-shadow:0 -8px 24px -18px rgba(0,0,0,.4);}
.rh-buy-sticky.is-visible{transform:translateY(0);}
.rh-buy-sticky__info{display:flex;flex-direction:column;font-size:12px;color:#3c4238;}
.rh-buy-sticky__info strong{font-size:15px;color:#1d1d1e;}
@media (max-width:700px){.rh-pdp-cross__grid{grid-template-columns:repeat(2,minmax(0,1fr));}.rh-design-card{flex:0 0 140px;}}

/* video placeholders on static support page (no third-party embeds allowed) */
.rh-video-ph{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;aspect-ratio:16/9;background:#f1f2f2;border-radius:4px;color:#6b6e6f;}
.rh-video-ph__icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#1d1d1e;color:#fff;font-size:16px;}
.rh-video-ph__label{font-size:12px;}

/* The two offers remain readable on narrow screens. */
.rh-header .rh-announce p{white-space:normal;overflow-wrap:break-word;line-height:1.4}@media(max-width:767px){.rh-header .rh-announce p{max-width:100%;font-size:12px}}

.rh-campaign-saving{color:#245d3f}.rh-cart-summary__total{padding-top:16px;border-top:1px solid #d9ddda;font-size:18px}.rh-campaign-terms{margin:18px 0;font:13px/1.6 Inter,Arial,sans-serif;color:#454c43}.rh-campaign-terms summary{cursor:pointer;font-weight:600;text-decoration:underline;text-underline-offset:3px}.rh-campaign-terms p{margin-top:10px}.rh-cart-drawer__foot .rh-cart-summary__note{font-size:12px;line-height:1.5;margin:10px 0 18px}

/* Highlight the applied surprise saving in cart, drawer and checkout. */
.rh-cart-summary .rh-campaign-saving,
.rh-cart-drawer__foot .rh-campaign-saving{
  align-items:center;gap:12px;margin:10px 0 14px;padding:16px 14px;
  color:#242414;background:#fff9c4;border:1px solid #ebdf88;
  border-left:4px solid #e2bd00;border-radius:10px;
}
.rh-campaign-saving>span{font-size:15px;font-weight:700;line-height:1.4;overflow-wrap:anywhere;min-width:0;}
.rh-campaign-saving>strong{font-size:22px;font-weight:800;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0;}
.rh-checkout__review table.shop_table tr.rh-surprise-fee>td{padding:10px 0 14px;border:0;}
.rh-surprise-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:18px 14px;color:#242414;background:#fff9c4;border:1px solid #ebdf88;border-left:4px solid #e2bd00;border-radius:10px;}
.rh-surprise-card__label{font-size:15px;font-weight:700;line-height:1.4;overflow-wrap:anywhere;}
.rh-surprise-card .rh-surprise-amount{margin-left:auto;}
.rh-surprise-amount{display:inline-block;font-size:24px;font-weight:800;line-height:1.25;white-space:nowrap;font-variant-numeric:tabular-nums;}
@media(max-width:480px){
  .rh-cart-summary .rh-campaign-saving,.rh-cart-drawer__foot .rh-campaign-saving{padding:14px 12px;gap:8px;}
  .rh-surprise-amount{font-size:22px;}
}
