/*
Theme Name: Ritmo TV Base Clean
Text Domain: ritmo-tv
Version: 1.0.0
*/
:root{
  --pr:#f9423a;
  --bg:#f7f7f8;
  --card:#ffffff;
  --tx:#141414;
  --mut:#6b7280;
  --line:rgba(0,0,0,.08);
  --soft:#f3f4f6;
}
html[data-theme="dark"]{
  --pr:#ff5a52;
  --bg:#0f1115;
  --card:#171a20;
  --tx:#f3f4f6;
  --mut:#a1a8b3;
  --line:rgba(255,255,255,.09);
  --soft:#1e232b;
}
@media (prefers-color-scheme: dark){
  html:not([data-theme="light"]){
    --pr:#ff5a52;
    --bg:#0f1115;
    --card:#171a20;
    --tx:#f3f4f6;
    --mut:#a1a8b3;
    --line:rgba(255,255,255,.09);
    --soft:#1e232b;
  }
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Outfit,system-ui,sans-serif;background:var(--bg);color:var(--tx)}
a{color:inherit}
.container{max-width:1200px;margin:0 auto;padding:0 18px}
.wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.site-header-fallback,.site-footer-fallback{background:var(--card);border-bottom:1px solid var(--line)}
.site-footer-fallback{border-top:1px solid var(--line);border-bottom:0}
.site-header-fallback .wrap,.site-footer-fallback .wrap{min-height:72px}
.brand-mark{text-decoration:none;display:flex;align-items:center;gap:10px;font-weight:800}
.brand-dot{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--pr);color:#fff}
.fallback-menu{display:flex;gap:18px;list-style:none;margin:0;padding:0}
.fallback-menu a{text-decoration:none}
.site-main{min-height:60vh}
.basic-loop{padding:32px 18px}
.basic-loop article{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:16px}
.theme-toggle{height:42px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--tx);cursor:pointer}

/* ===== Header ===================================================
   z-index: 200 → sempre visível e clicável acima do overlay (150)
================================================================== */
.site-header-fallback{
  position:sticky;
  top:0;
  z-index:200;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  background:color-mix(in srgb,var(--card) 88%,transparent);
}

/* ===== Pesquisa — dropdown de resultados =======================
   z-index: 210 → acima do header para os resultados aparecerem
   por cima de tudo, incluindo a barra de navegação
================================================================== */
.sdrop,
[class*="search-results"],
.search-dropdown{
  z-index:210;
}

/* ===== Pesquisa — overlay de fundo ============================
   z-index: 150 → abaixo do header (200) para não bloquear
   o menu nem a barra; acima do conteúdo da página
================================================================== */
.sov,
.search-overlay,
.rt-filter-backdrop{
  z-index:150;
}

/* ===== Single product Ritmo TV ===== */
.rt-product-page{padding-top:28px;padding-bottom:48px}
.rt-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.9rem;color:var(--mut);margin:0 0 18px}
.rt-breadcrumbs a{text-decoration:none}
.rt-breadcrumbs a:hover{color:var(--pr)}
.rt-product-top{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:28px;align-items:start}
.rt-gallery,.rt-summary,.rt-card{background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:0 10px 30px rgba(0,0,0,.04)}
.rt-gallery{overflow:hidden}
.rt-gallery-main{aspect-ratio:1;background:#fff;display:flex;align-items:center;justify-content:center;padding:24px}
.rt-gallery-main img{display:block;max-width:100%;max-height:560px;width:auto;height:auto;object-fit:contain}
.rt-gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px;border-top:1px solid var(--line);background:var(--card)}
.rt-thumb{appearance:none;border:1px solid var(--line);background:#fff;border-radius:16px;padding:8px;cursor:pointer;transition:.18s ease}
.rt-thumb:hover,.rt-thumb.is-active{border-color:rgba(249,66,58,.4);box-shadow:0 0 0 3px rgba(249,66,58,.12)}
.rt-thumb img{width:100%;height:100%;aspect-ratio:1;object-fit:contain;display:block}
.rt-summary{padding:28px;display:flex;flex-direction:column;gap:18px}
.rt-badge{display:inline-flex;align-self:flex-start;padding:7px 12px;border-radius:999px;background:rgba(249,66,58,.1);color:var(--pr);font-weight:700;font-size:.82rem}
.rt-title{font-size:clamp(1.75rem,2.6vw,2.4rem);line-height:1.08;letter-spacing:-.02em;margin:0}
.rt-rating{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--mut);font-size:.94rem}
.rt-rating .star-rating{margin:0}
.rt-stars{color:#f6b73c}
.rt-price{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:800;line-height:1}
.rt-price del{font-size:.65em;font-weight:500;color:var(--mut);margin-right:10px}
.rt-price ins{text-decoration:none}
.rt-stock-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.rt-stock-badge{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;width:fit-content;max-width:fit-content;padding:6px 14px 6px 6px;border-radius:999px;font-size:14px;font-weight:600;line-height:1;color:#fff;box-sizing:border-box}
.rt-stock-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;min-width:22px;border-radius:50%;background:rgba(255,255,255,.28);position:relative;flex-shrink:0}
.rt-stock-icon::before{font-size:12px;font-weight:800;line-height:1;color:#fff}
.rt-stock-badge.is-in-stock{background:#28a745}
.rt-stock-badge.is-in-stock .rt-stock-icon::before{content:"✓"}
.rt-stock-badge.is-backorder{background:#1E90FF}
.rt-stock-badge.is-backorder .rt-stock-icon::before{content:"✓"}
.rt-stock-badge.is-low-stock{background:#ff9800}
.rt-stock-badge.is-low-stock .rt-stock-icon::before{content:"!"}
.rt-stock-badge.is-out-stock{background:#dc3545}
.rt-stock-badge.is-out-stock .rt-stock-icon::before{content:"✕"}
.rt-stock-note{font-size:.94rem;color:var(--mut)}
.rt-short-desc{
	margin-top:2px;
	padding:14px 0 0;
	border:0;
	border-top:1px solid var(--line);
	border-radius:0;
	background:transparent;
	color:var(--mut);
	line-height:1.0;
}
.rt-short-desc p:first-child{
	margin-top:0;
}

.rt-short-desc p:last-child{
	margin-bottom:0;
}

.rt-short-desc ul,
.rt-short-desc ol{
	margin:0;
	padding-left:1.15rem;
}

.rt-short-desc li{
	margin:0 0 8px;
}
.rt-buybox{
	padding:18px;
	border:1px solid var(--line);
	border-radius:18px;
	background:var(--card);
}

.rt-buybox form.cart{
	display:flex;
	flex-wrap:wrap;
	align-items:flex-end;
	gap:12px;
	margin:0;
}

.rt-buybox .quantity{
	display:inline-flex;
	align-items:stretch;
	margin:0 !important;
	border-radius:14px;
	overflow:hidden;
	background:var(--soft);
}

.rt-buybox .quantity .minus,
.rt-buybox .quantity .plus,
.rt-buybox .quantity button.minus,
.rt-buybox .quantity button.plus{
	width:40px;
	height:44px;
	flex:0 0 40px;
	display:inline-flex !important;
	align-items:center;
	justify-content:center;
	margin:0;
	padding:0;
	border:1px solid var(--line);
	background:var(--soft);
	color:var(--tx);
	cursor:pointer;
	font-size:18px;
	line-height:1;
	box-shadow:none;
}

.rt-buybox .quantity .minus,
.rt-buybox .quantity button.minus{
	border-right:0;
	border-radius:14px 0 0 14px;
}

.rt-buybox .quantity .plus,
.rt-buybox .quantity button.plus{
	border-left:0;
	border-radius:0 14px 14px 0;
}

.rt-buybox .quantity .qty,
.rt-buybox form.cart .quantity input.qty{
	width:54px;
	min-width:54px;
	height:44px;
	flex:0 0 54px;
	margin:0;
	padding:0;
	border:1px solid var(--line);
	border-radius:0 !important;
	background:#fff;
	color:var(--tx);
	text-align:center;
	font-size:16px;
	font-weight:600;
	line-height:1;
	box-shadow:none !important;
	appearance:textfield;
	-webkit-appearance:none;
	-moz-appearance:textfield;
}

.rt-buybox .quantity .qty::-webkit-outer-spin-button,
.rt-buybox .quantity .qty::-webkit-inner-spin-button{
	-webkit-appearance:none;
	margin:0;
}

.rt-buybox .quantity .minus:hover,
.rt-buybox .quantity .plus:hover,
.rt-buybox .quantity button.minus:hover,
.rt-buybox .quantity button.plus:hover{
	background:var(--pr);
	border-color:var(--pr);
	color:#fff;
}

.rt-buybox .single_add_to_cart_button{
	height:46px;
	padding:0 22px;
	border:none;
	border-radius:999px;
	background:var(--pr) !important;
	color:#fff !important;
	font-weight:700;
	cursor:pointer;
	box-shadow:none !important;
}

.rt-buybox .single_add_to_cart_button:hover{
	filter:brightness(.96);
}

.rt-buybox .variations{
	width:100%;
	border-collapse:separate;
	border-spacing:0 12px;
}

.rt-buybox .variations td,
.rt-buybox .variations th{
	padding:0;
	border:none;
	background:none;
}

.rt-buybox .variations label{
	display:block;
	font-size:.88rem;
	font-weight:700;
	margin:0 0 6px;
}

.rt-buybox .variations select{
	width:100%;
	height:46px;
	border:1px solid var(--line);
	border-radius:14px;
	padding:0 12px;
	background:var(--soft);
	color:var(--tx);
}

.rt-buybox .reset_variations{
	display:inline-block;
	margin-top:6px;
	font-size:.86rem;
	color:var(--pr);
	text-decoration:none;
}

.rt-buybox .woocommerce-variation{
	width:100%;
}

.rt-buybox .woocommerce-variation-price,
.rt-buybox .woocommerce-variation-description,
.rt-buybox .woocommerce-variation-availability{
	margin:8px 0;
	color:var(--mut);
}
.rt-perks{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rt-perk{padding:14px 12px;border-radius:18px;background:var(--soft);border:1px solid var(--line);text-align:center;font-size:.9rem;color:var(--mut)}
.rt-perk strong{display:block;font-size:1.1rem;margin-bottom:4px;color:var(--tx)}
.rt-specs{padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--card)}
.rt-specs h2{font-size:1rem;margin:0 0 12px}
.rt-spec-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.95rem}
.rt-spec-row:last-child{border-bottom:0;padding-bottom:0}
.rt-spec-label{color:var(--mut)}
.rt-sections{display:grid;gap:18px;margin-top:24px}
.rt-card{padding:24px}
.rt-card h2{margin:0 0 14px;font-size:1.2rem}
.rt-card-content{color:var(--tx);line-height:1.75}
.rt-card-content > *:first-child{margin-top:0}
.rt-card-content > *:last-child{margin-bottom:0}
.rt-card .commentlist{list-style:none;margin:0;padding:0}
.rt-card .comment_container{padding:16px 0;border-bottom:1px solid var(--line)}
.rt-card .comment_container:last-child{border-bottom:0}

.rt-faq{display:grid;gap:12px}
.rt-faq > h2{margin-bottom:4px}
.rt-faq-item{border:1px solid var(--line);border-radius:18px;background:var(--card);overflow:hidden}
.rt-faq-item summary{list-style:none;cursor:pointer;padding:18px 20px;font-weight:700;position:relative;padding-right:54px}
.rt-faq-item summary::-webkit-details-marker{display:none}
.rt-faq-item summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:rgba(249,66,58,.08);color:var(--pr);font-size:1.1rem;font-weight:700}
.rt-faq-item[open] summary::after{content:"–"}
.rt-faq-answer{padding:0 20px 18px;color:var(--mut);line-height:1.7}
.rt-faq-answer p{margin:0}

.rt-related ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.rt-related ul.products li.product{float:none !important;width:auto !important;margin:0 !important;padding:0 !important;display:flex;flex-direction:column;height:100%;background:var(--card);border-radius:18px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,.03)}
.rt-related ul.products li.product > a:first-child,
.rt-related ul.products li.product .woocommerce-loop-product__link{display:flex;flex-direction:column;flex:1 1 auto;background:none;border:0;border-radius:0;overflow:hidden;text-decoration:none;box-shadow:none}
.rt-related ul.products li.product img{width:100%;aspect-ratio:1;object-fit:contain;background:#fff;margin:0 !important;padding:16px}
.rt-related .woocommerce-loop-product__title{font-size:.96rem;line-height:1.35;padding:12px 12px 6px;min-height:58px}
.rt-related .price{display:block;padding:0 12px 14px;font-weight:700}
.rt-related ul.products li.product .star-rating,
.rt-related ul.products li.product .rating{margin:0 12px 10px}
.rt-related ul.products li.product .button,
.rt-related ul.products li.product a.button,
.rt-related ul.products li.product .added_to_cart{display:inline-flex !important;align-items:center;justify-content:center;width:calc(100% - 24px);margin:0 12px 12px !important;padding:12px 14px;border-radius:999px;background:var(--pr);color:#fff;text-decoration:none;border:none}
.rt-related ul.products li.product .button + .button,
.rt-related ul.products li.product .button + .added_to_cart,
.rt-related ul.products li.product .added_to_cart + .button{margin-top:-2px !important}
.rt-related ul.products li.product .yith-wcqv-button,
.rt-related ul.products li.product .button.yith-wcqv-button{display:inline-flex !important;align-items:center;justify-content:center;width:calc(100% - 24px);margin:0 12px 12px !important;padding:12px 14px;border-radius:999px;background:var(--soft);color:var(--tx);border:1px solid var(--line)}

@media (max-width: 980px){
  .rt-product-top{grid-template-columns:1fr}
  .rt-related ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 640px){
  .rt-product-page{padding-top:20px}
  .rt-summary,.rt-card{padding:18px}
  .rt-gallery-thumbs{grid-template-columns:repeat(3,1fr)}
  .rt-perks{grid-template-columns:1fr}
  .rt-spec-row{flex-direction:column;gap:4px}
  .rt-related ul.products{grid-template-columns:1fr}
}

/* ===== Archive / category ===== */
.rt-archive-page{padding-top:28px;padding-bottom:48px}
.rt-archive-shell{display:grid;gap:22px}
.rt-archive-head{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 10px 30px rgba(0,0,0,.04)}
.rt-archive-breadcrumbs{margin-bottom:18px}
.rt-archive-intro{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}
.rt-archive-title{margin:0;font-size:clamp(1.9rem,2.6vw,2.8rem);line-height:1.02;letter-spacing:-.03em}
.rt-archive-desc{margin-top:12px;color:var(--mut);line-height:1.7;max-width:68ch}
.rt-archive-desc > *:first-child{margin-top:0}
.rt-archive-desc > *:last-child{margin-bottom:0}
.rt-archive-meta{display:grid;gap:12px}
.rt-archive-meta-card{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:16px 18px}
.rt-archive-meta-label{display:block;font-size:.8rem;font-weight:700;color:var(--mut);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}
.rt-archive-meta-card strong{font-size:1.05rem}
.rt-archive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:14px 18px}
.rt-archive-toolbar-left,.rt-archive-toolbar-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rt-filter-toggle{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:var(--soft);color:var(--tx);font-weight:700;cursor:pointer}
.rt-results-count{color:var(--mut);font-size:.94rem}
.rt-archive-toolbar .woocommerce-ordering{margin:0}
.rt-archive-toolbar .woocommerce-ordering select{height:42px;padding:0 14px;border:1px solid var(--line);border-radius:14px;background:var(--soft);color:var(--tx)}
/* ===== Archive view controls ===== */
.rt-catalog-view-form{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.rt-catalog-view-form select{
  height:42px;
  padding:0 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--soft);
  color:var(--tx);
  min-width:140px;
}

.rt-catalog-view-form select:focus{
  outline:none;
  border-color:rgba(249,66,58,.45);
  box-shadow:0 0 0 3px rgba(249,66,58,.12);
}

.rt-archive-grid-cols-2 ul.products{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.rt-archive-grid-cols-3 ul.products{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.rt-archive-grid-cols-4 ul.products{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

@media (max-width: 980px){
  .rt-catalog-view-form{
    width:100%;
  }

  .rt-catalog-view-form select{
    flex:1 1 180px;
  }

  .rt-archive-grid-cols-4 ul.products,
  .rt-archive-grid-cols-3 ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 560px){
  .rt-archive-toolbar-right{
    width:100%;
    flex-direction:column;
    align-items:stretch;
  }

  .rt-catalog-view-form{
    width:100%;
    flex-direction:column;
    align-items:stretch;
  }

  .rt-catalog-view-form select{
    width:100%;
    min-width:0;
  }

  .rt-archive-grid-cols-4 ul.products,
  .rt-archive-grid-cols-3 ul.products,
  .rt-archive-grid-cols-2 ul.products{
    grid-template-columns:1fr;
  }
}
.rt-archive-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}
.rt-filters-box,.rt-filter-drawer{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:0 8px 24px rgba(0,0,0,.04)}
.rt-filters-box{padding:18px}
.rt-filters-box.sticky{position:sticky;top:92px}
.rt-filters-heading h2{margin:0 0 14px;font-size:1.05rem}
.rt-filters .widget{padding:14px 0;border-top:1px solid var(--line)}
.rt-filters .widget:first-of-type{border-top:0;padding-top:0}
.rt-filters .widget-title,.rt-filters .wp-block-heading{font-size:.94rem;margin:0 0 12px;font-weight:800}
.rt-filters ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rt-filters li{color:var(--mut);font-size:.93rem}
.rt-filters a{text-decoration:none}
.rt-filters input,.rt-filters select{width:100%}
.rt-filter-placeholder{padding:14px;border:1px dashed var(--line);border-radius:16px;background:var(--soft);color:var(--mut);font-size:.92rem}
.rt-archive-main{min-width:0}
.rt-archive-grid-wrap ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.rt-archive-grid-wrap ul.products::before,.rt-archive-grid-wrap ul.products::after{display:none !important}
.rt-product-card{float:none !important;width:auto !important;margin:0 !important;padding:0 !important;list-style:none}
.rt-card-product-inner{height:100%;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.04)}
.rt-product-card-media-link{text-decoration:none;color:inherit}
.rt-product-card-media{position:relative;background:#fff;aspect-ratio:1;padding:18px;display:flex;align-items:center;justify-content:center}
.rt-product-card-media img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.rt-product-pill{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:800;color:#fff;line-height:1}
.rt-product-pill.sale{background:var(--pr)}
.rt-product-pill.new{background:#1e9163}
.rt-product-card-body{display:flex;flex-direction:column;gap:10px;padding:16px;flex:1 1 auto}
.rt-product-brand{font-size:.84rem;color:var(--mut);font-weight:600}
.rt-product-card-title{margin:0;font-size:1rem;line-height:1.3;min-height:2.6em}
.rt-product-card-title a{text-decoration:none;color:inherit}
.rt-product-card-title a:hover{color:var(--pr)}
.rt-product-rating{display:flex;align-items:center;gap:8px;color:var(--mut);font-size:.9rem}
.rt-product-rating .star-rating{margin:0;font-size:.9rem}
.rt-product-price{font-size:1.35rem;font-weight:800;line-height:1.1;margin-top:2px}
.rt-product-price del{font-size:.7em;color:var(--mut);font-weight:500;margin-right:8px}
.rt-product-price ins{text-decoration:none}
.rt-product-stock{display:inline-flex;align-self:flex-start;padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:700;line-height:1.1}
.rt-product-stock.is-in-stock{background:rgba(40,167,69,.12);color:#1f8f3e}
.rt-product-stock.is-backorder{background:rgba(30,144,255,.12);color:#1e90ff}
.rt-product-stock.is-low-stock{background:rgba(255,152,0,.16);color:#c77700}
.rt-product-stock.is-out-stock{background:rgba(220,53,69,.12);color:#dc3545}
.rt-product-card-actions{margin-top:auto;padding-top:4px}
.rt-product-main-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:46px;padding:0 16px;border-radius:999px;background:var(--pr);color:#fff;text-decoration:none;font-weight:700}
.rt-product-main-btn:hover{filter:brightness(.97)}
.rt-empty-state{text-align:center}
.rt-empty-state p{color:var(--mut);margin-top:8px}
.rt-empty-link{display:inline-flex;margin-top:16px;padding:12px 18px;border-radius:999px;background:var(--pr);color:#fff;text-decoration:none;font-weight:700}
.ritmo-pagination ul{display:flex;justify-content:center;gap:8px;list-style:none;padding:0;margin:24px 0 0}
.ritmo-pagination a,.ritmo-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--tx);text-decoration:none}
.ritmo-pagination .current{background:var(--pr);color:#fff;border-color:var(--pr)}

/* ── Drawer de filtros ──────────────────────────────────────────
   z-index: 210/205 — acima do header para o drawer ficar à frente
   quando aberto em mobile
────────────────────────────────────────────────────────────────*/
.rt-filter-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.42);opacity:0;visibility:hidden;transition:.22s ease;z-index:205}
.rt-filter-drawer{position:fixed;top:0;left:0;width:min(380px,90vw);height:100dvh;transform:translateX(-102%);transition:.28s ease;z-index:210;display:flex;flex-direction:column;border-radius:0 22px 22px 0}
.rt-filter-drawer.is-open{transform:translateX(0)}
body.rt-filter-open .rt-filter-backdrop{opacity:1;visibility:visible}
.rt-filter-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid var(--line)}
.rt-filter-close{width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:var(--soft);color:var(--tx);cursor:pointer}
.rt-filter-drawer-body{padding:18px;overflow:auto}
.rt-filter-drawer-body .widget{padding:14px 0;border-top:1px solid var(--line)}
.rt-filter-drawer-body .widget:first-of-type{border-top:0;padding-top:0}
.rt-filter-drawer .widget-title,.rt-filter-drawer .wp-block-heading{font-size:.94rem;margin:0 0 12px;font-weight:800}
.rt-filter-drawer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}

@media (min-width: 981px){.rt-filter-toggle{display:none}.rt-filter-backdrop,.rt-filter-drawer{display:none}}
@media (max-width: 980px){.rt-archive-intro{grid-template-columns:1fr}.rt-archive-layout{grid-template-columns:1fr}.rt-filters{display:none}.rt-archive-grid-wrap ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width: 760px){.rt-archive-grid-wrap ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 560px){.rt-archive-head,.rt-archive-toolbar{padding:18px}.rt-archive-grid-wrap ul.products{grid-template-columns:1fr}}

/* ===== Etiqueta energética ===== */
.prd-img{
  position:relative;
}
.rtv-energy-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.rtv-energy-label img{
  display:block;
  width:100%;
  height:auto;
}
.prd-img .rtv-energy-label--card{
  position:absolute;
  top:10px;
  right:10px;
  width:42px;
  z-index:2;
}
.rtv-energy-label--single{
	display:inline-flex;
	align-self:flex-start;
	justify-content:flex-start;
	margin:4px 0 10px;
	line-height:0;
}

.rtv-energy-label--single img{
	width:50px;
	height:auto;
	display:block;
}
.rt-product-card-media {
    position: relative;
}

.rtv-energy-label--card{
  position:absolute;
  right:8px;
  bottom:8px;
  left:auto;
  top:auto;
  z-index:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:0;
}

.rtv-energy-label--card img{
  display:block;
  width:42px;
  height:auto;
}
.screen-reader-text{
  position:absolute !important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.rt-archive-head.has-cover{
  background:linear-gradient(90deg,var(--card) 0%,#f7efef 100%);
}

.rt-archive-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(249,66,58,.08);
  color:var(--pr);
  font-weight:700;
  font-size:.85rem;
  margin-bottom:14px;
}

.rt-archive-visual{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  min-height:120px;
}

.rt-archive-visual img{
  max-width:160px;
  max-height:120px;
  object-fit:contain;
}

.rt-subcats-section{
  margin-top:-4px;
}

.rt-subcats-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.rt-subcat-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:132px;
  padding:20px 16px;
  border:1px solid var(--line);
  border-radius:22px;
  background:var(--card);
  text-decoration:none;
  text-align:center;
  transition:.18s ease;
  box-shadow:0 8px 24px rgba(0,0,0,.04);
}

.rt-subcat-card:hover{
  transform:translateY(-2px);
  border-color:rgba(249,66,58,.45);
  box-shadow:0 12px 30px rgba(0,0,0,.07);
}

.rt-subcat-card-media{
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#f6f6f6);
}

.rt-subcat-card-media img{
  width:34px;
  height:34px;
  object-fit:contain;
}

.rt-subcat-card-icon{
  font-size:1.4rem;
  color:var(--mut);
  line-height:1;
}

.rt-subcat-card-body{
  display:grid;
  gap:4px;
}

.rt-subcat-card-title{
  font-size:1.05rem;
  line-height:1.2;
  color:var(--tx);
}

.rt-subcat-card-count{
  font-size:.92rem;
  color:var(--mut);
}

.rt-subcat-card.is-current{
  border-color:rgba(249,66,58,.45);
  background:rgba(249,66,58,.04);
}

@media (max-width: 980px){
  .rt-subcats-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .rt-archive-visual{
    justify-content:flex-start;
  }
}

@media (max-width: 560px){
  .rt-subcats-grid{
    grid-template-columns:1fr;
  }

  .rt-archive-visual img{
    max-width:120px;
  }
}

/* ══ ALIASES / FALLBACKS USADOS NO CART E CHECKOUT ═════════════ */
:root{
  --text: var(--tx);
  --muted: var(--mut);
  --surface: var(--card);
  --s2: var(--soft);
  --s3: color-mix(in srgb, var(--soft) 72%, var(--card));
  --border: var(--line);

  --rsm: 14px;
  --r: 22px;
  --rf: 999px;

  --prs: rgba(249,66,58,.10);

  --ok: #1e9163;
  --oks: rgba(30,145,99,.10);

  --sh0: 0 6px 20px rgba(0,0,0,.03);
  --sh: 0 10px 30px rgba(0,0,0,.05);
}

html[data-theme="dark"]{
  --prs: rgba(255,90,82,.14);
  --oks: rgba(30,145,99,.16);
  --sh0: 0 8px 24px rgba(0,0,0,.22);
  --sh: 0 14px 36px rgba(0,0,0,.28);
}

@media (prefers-color-scheme: dark){
  html:not([data-theme="light"]){
    --prs: rgba(255,90,82,.14);
    --oks: rgba(30,145,99,.16);
    --sh0: 0 8px 24px rgba(0,0,0,.22);
    --sh: 0 14px 36px rgba(0,0,0,.28);
  }
}

/* ══ CARRINHO ═══════════════════════════════════════════════════ */
.rt-cart-page{padding:28px 0 80px}
.rt-cart-header{margin-bottom:20px}
.rt-cart-title{font-size:clamp(1.4rem,3vw,1.9rem);display:flex;align-items:center;gap:10px}
.rt-cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 7px;border-radius:var(--rf);background:var(--prs);color:var(--pr);font-size:.82rem;font-weight:700}

.rt-cart-grid{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}

.rt-cart-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:64px 24px 80px}
.rt-cart-empty-icon{width:80px;height:80px;margin-bottom:20px}
.rt-cart-empty-icon svg{width:100%;height:100%}
.rt-cart-empty-title{font-size:clamp(1.3rem,3vw,1.7rem);margin-bottom:10px}
.rt-cart-empty-msg{color:var(--muted);max-width:44ch;margin-bottom:24px;font-size:.96rem}
.rt-cart-empty-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}

.rt-cart-items{display:flex;flex-direction:column;gap:10px}

.rt-cart-item{
	display:grid;
	grid-template-columns:72px minmax(0,1fr) 140px 110px;
	gap:14px;
	align-items:center;
	background:var(--surface);
	border:1px solid var(--border);
	border-radius:var(--r);
	padding:14px 16px;
	box-shadow:var(--sh0);
	transition:box-shadow .2s;
}
.rt-cart-item:hover{box-shadow:var(--sh)}

.rt-citem-img{
  width:72px;
  height:72px;
  border-radius:var(--rsm);
  background:var(--s2);
  overflow:hidden;
  display:grid;
  place-items:center;
  border:1px solid var(--border);
  flex-shrink:0;
}
.rt-citem-img img{width:100%;height:100%;object-fit:contain;padding:6px}
.rt-citem-img a{display:block;width:100%;height:100%}

.rt-citem-name{font-weight:600;font-size:.95rem;margin-bottom:3px;line-height:1.3}
.rt-citem-name a{color:var(--text);text-decoration:none}
.rt-citem-name a:hover{color:var(--pr)}
.rt-citem-unit-price{font-size:.82rem;color:var(--muted);margin-top:4px}

.rt-citem-info .woocommerce-cart-item__variation,
.rt-citem-info dl.variation{
  font-size:.8rem;
  color:var(--muted);
  margin:3px 0;
}

.rt-citem-info dl.variation dt,
.rt-citem-info dl.variation dd{
  display:inline;
  margin:0;
}

.rt-citem-info dl.variation dd p{margin:0;display:inline}

.rt-citem-qty{
	display:flex;
	align-items:center;
	justify-content:center;
	min-width:140px;
}

.rt-citem-qty .quantity{
  margin:0 !important;
  display:flex;
  align-items:center;
}

.rt-citem-qty .quantity .qty{
  width:64px;
  height:38px;
  text-align:center;
  border:1px solid var(--border);
  border-left:0;
  border-right:0;
  border-radius:0;
  background:var(--surface);
  color:var(--text);
  font-weight:600;
  font-size:.92rem;
  padding:0 6px;
  -moz-appearance:textfield;
}

.rt-citem-qty .quantity .qty::-webkit-outer-spin-button,
.rt-citem-qty .quantity .qty::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}

.rt-citem-qty .quantity .minus,
.rt-citem-qty .quantity .plus,
.rt-citem-qty .quantity button.minus,
.rt-citem-qty .quantity button.plus{
  width:34px;
  height:38px;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border);
  background:var(--s2);
  color:var(--muted);
  cursor:pointer;
  padding:0;
  font-size:1rem;
  line-height:1;
  box-shadow:none;
}

.rt-citem-qty .quantity .minus,
.rt-citem-qty .quantity button.minus{
  border-radius:var(--rsm) 0 0 var(--rsm);
}

.rt-citem-qty .quantity .plus,
.rt-citem-qty .quantity button.plus{
  border-radius:0 var(--rsm) var(--rsm) 0;
}

.rt-citem-qty .quantity .minus:hover,
.rt-citem-qty .quantity .plus:hover,
.rt-citem-qty .quantity button.minus:hover,
.rt-citem-qty .quantity button.plus:hover{
  background:var(--pr);
  color:#fff;
  border-color:var(--pr);
}

.rt-update-btn,
button[name="update_cart"]{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}

button[name="update_cart"][disabled]{
  opacity:.55;
  pointer-events:none;
}

.rt-citem-right{
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	justify-content:center;
	gap:6px;
	min-width:110px;
	text-align:right;
}
.rt-citem-subtotal{font-weight:700;font-size:1rem;white-space:nowrap}
.rt-citem-subtotal ins{text-decoration:none}
.rt-citem-subtotal del{opacity:.5;font-size:.85rem;font-weight:400}
.rt-remove-btn{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:.78rem;
  color:var(--muted);
  border:none;
  background:none;
  cursor:pointer;
  padding:0;
  text-decoration:none;
  transition:color .15s;
}
.rt-remove-btn:hover{color:var(--pr)}

.rt-cart-actions{
  display:flex;
  justify-content:flex-end;
  padding:12px 0;
  border-top:1px solid var(--border);
  margin-top:4px;
}
.rt-update-btn{display:inline-flex;align-items:center;gap:7px;font-size:.88rem;color:var(--muted)}
.rt-update-btn:hover{color:var(--text)}

.rt-cart-summary{position:sticky;top:84px}
.rt-summary-box{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:20px 22px;
  box-shadow:var(--sh);
}
.rt-summary-title{font-size:1rem;font-weight:700;margin-bottom:14px}
.rt-summary-rows{margin-bottom:12px}
.rt-sum-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  padding:9px 0;
  border-bottom:1px solid var(--border);
  font-size:.9rem;
  color:var(--muted);
}
.rt-sum-row:last-child{border-bottom:none}
.rt-sum-total{padding:13px 0 4px;font-size:1.08rem;font-weight:700;color:var(--text)}
.rt-sum-total strong{color:var(--text)}

.rt-sum-coupon{color:var(--ok)}
.rt-coupon-code{
  display:inline-flex;
  align-items:center;
  background:var(--oks);
  color:var(--ok);
  padding:1px 7px;
  border-radius:var(--rf);
  font-size:.75rem;
  font-weight:600;
  margin:0 4px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.rt-sum-coupon .woocommerce-remove-coupon{
  font-size:.75rem;
  color:var(--muted);
  margin-left:6px;
  text-decoration:underline;
}
.rt-sum-coupon .woocommerce-remove-coupon:hover{color:var(--pr)}

/* Métodos de envio — versão para o teu cart.php custom */
.rt-sum-row.rt-sum-shipping{
  display:block;
  padding:12px 0;
}

.rt-sum-shipping .rt-sum-label{
  display:block;
  margin:0 0 10px;
  font-size:.9rem;
  font-weight:700;
  color:var(--text);
}

.rt-shipping-methods{
  display:grid;
  gap:8px;
  width:100%;
}

.rt-shipping-cards{
  display:grid;
  gap:8px;
}

.rt-shipping-card{
  position:relative;
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:start;
  column-gap:10px;
  row-gap:4px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:var(--rsm);
  background:var(--s2);
  cursor:pointer;
  transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
}

.rt-shipping-card:hover{
  border-color:rgba(249,66,58,.35);
  background:var(--surface);
  box-shadow:var(--sh0);
}

.rt-shipping-card.is-selected{
  border-color:var(--pr);
  background:var(--prs);
  box-shadow:0 0 0 3px var(--prs);
}

.rt-shipping-input{
  grid-column:1;
  grid-row:1 / span 2;
  width:16px;
  height:16px;
  margin:2px 0 0;
  accent-color:var(--pr);
}

.rt-shipping-card__top{
  grid-column:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:10px;
  width:100%;
}

.rt-shipping-card__title{
  font-size:.9rem;
  font-weight:700;
  line-height:1.3;
  color:var(--text);
}

.rt-shipping-card__price{
  font-size:.9rem;
  font-weight:800;
  line-height:1.2;
  color:var(--text);
  white-space:nowrap;
  text-align:right;
}

.rt-shipping-card__desc{
  grid-column:2;
  display:block;
  font-size:.8rem;
  line-height:1.4;
  color:var(--muted);
  margin-top:-1px;
}

.rt-shipping-empty,
.rt-shipping-destination{
  margin:2px 0 0;
  font-size:.8rem;
  line-height:1.45;
  color:var(--muted);
}

.rt-coupon-wrap{display:flex;gap:8px;align-items:center;margin-bottom:14px}
.rt-coupon-input{
  flex:1;
  height:40px;
  padding:0 12px;
  border:1px solid var(--border);
  border-radius:var(--rsm);
  background:var(--s2);
  color:var(--text);
  font-size:.88rem;
  transition:border-color .15s,box-shadow .15s;
}
.rt-coupon-input:focus{
  outline:none;
  border-color:var(--pr);
  box-shadow:0 0 0 3px var(--prs);
}

/* Botão aplicar cupão — estilo leve */
.rt-coupon-btn,
button.rt-coupon-btn,
button[name="apply_coupon"]{
  height:40px;
  padding:0 16px;
  border-radius:var(--rsm);
  border:1px solid rgba(249,66,58,.18);
  background:var(--prs) !important;
  color:var(--pr) !important;
  font-size:.88rem;
  font-weight:700;
  white-space:nowrap;
  box-shadow:none;
}

.rt-coupon-btn:hover,
.rt-coupon-btn:focus,
.rt-coupon-btn:active,
button[name="apply_coupon"]:hover,
button[name="apply_coupon"]:focus,
button[name="apply_coupon"]:active{
  background:rgba(249,66,58,.16) !important;
  color:var(--pr) !important;
  border-color:rgba(249,66,58,.28) !important;
  box-shadow:none;
}

html[data-theme="dark"] .rt-coupon-btn,
html[data-theme="dark"] button[name="apply_coupon"]{
  border-color:rgba(255,90,82,.22);
  background:rgba(255,90,82,.14) !important;
  color:var(--pr) !important;
}

html[data-theme="dark"] .rt-coupon-btn:hover,
html[data-theme="dark"] button[name="apply_coupon"]:hover{
  background:rgba(255,90,82,.20) !important;
  border-color:rgba(255,90,82,.30) !important;
}

.rt-checkout-cta{
  width:100%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:1rem;
  padding:13px 16px;
  margin-bottom:10px;
  border-radius:var(--r);
  background:var(--pr);
  color:#fff;
  text-decoration:none;
  font-weight:700;
  border:none;
}

.rt-checkout-cta:hover{
  filter:brightness(.96);
  color:#fff;
}

/* Forçar o CTA do carrinho a manter fundo vermelho */
a.btn.btn-p.rt-checkout-cta,
a.rt-checkout-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  padding:13px 16px;
  border-radius:999px !important;
  background:var(--pr) !important;
  color:#fff !important;
  border:1px solid var(--pr) !important;
  text-decoration:none !important;
  font-weight:700;
  box-shadow:none;
}

a.btn.btn-p.rt-checkout-cta:hover,
a.btn.btn-p.rt-checkout-cta:focus,
a.btn.btn-p.rt-checkout-cta:active,
a.rt-checkout-cta:hover,
a.rt-checkout-cta:focus,
a.rt-checkout-cta:active{
  background:var(--pr) !important;
  color:#fff !important;
  border-color:var(--pr) !important;
  text-decoration:none !important;
  filter:brightness(.96);
  box-shadow:none;
}

a.btn.btn-p.rt-checkout-cta svg,
a.rt-checkout-cta svg{
  flex-shrink:0;
}
.woocommerce-checkout #place_order,
.woocommerce-checkout button.button.alt#place_order{
  background:var(--pr) !important;
  color:#fff !important;
  border:none !important;
}
.rt-trust-mini{text-align:center;font-size:.8rem;color:var(--muted);margin-top:6px}
.rt-trust-badges{display:flex;flex-direction:column;gap:6px;margin-top:14px;font-size:.8rem;color:var(--muted)}

.rt-cross-sells{margin-top:28px}
.rt-cross-sells-title{font-size:1.1rem;font-weight:700;margin-bottom:14px}
.rt-cross-sells-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:13px}

/* Cross-sells WooCommerce por baixo do carrinho */
.cross-sells{
  margin-top:28px;
}
.cross-sells > h2{
  font-size:1.1rem;
  font-weight:700;
  margin:0 0 14px;
}
.cross-sells ul.products{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.cross-sells ul.products::before,
.cross-sells ul.products::after{
  display:none !important;
}
.cross-sells ul.products li.product{
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  display:flex;
  flex-direction:column;
  height:100%;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--sh0);
}
.cross-sells ul.products li.product a:first-child,
.cross-sells ul.products li.product .woocommerce-loop-product__link{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  text-decoration:none;
  color:inherit;
}
.cross-sells ul.products li.product img{
  width:100%;
  aspect-ratio:1;
  object-fit:contain;
  background:#fff;
  margin:0 !important;
  padding:16px;
}
.cross-sells ul.products li.product .woocommerce-loop-product__title{
  font-size:.96rem;
  line-height:1.35;
  padding:12px 12px 6px;
  min-height:58px;
}
.cross-sells ul.products li.product .price{
  display:block;
  padding:0 12px 14px;
  font-weight:700;
}
.cross-sells ul.products li.product .button,
.cross-sells ul.products li.product a.button,
.cross-sells ul.products li.product .added_to_cart{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:calc(100% - 24px);
  margin:0 12px 12px !important;
  padding:12px 14px;
  border-radius:999px;
  background:var(--pr);
  color:#fff;
  text-decoration:none;
  border:none;
}

/* ══ CHECKOUT ═══════════════════════════════════════════════════ */
.rt-checkout-page{padding:28px 0 80px}
.rt-checkout-title{font-size:clamp(1.4rem,3vw,1.9rem);margin-bottom:20px}
.rt-checkout-steps{display:flex;align-items:center;gap:4px;margin-bottom:28px;flex-wrap:wrap}
.rt-cstep{display:flex;align-items:center;gap:8px;font-size:.86rem;font-weight:600;color:var(--muted)}
.rt-cstep--on{color:var(--pr)}
.rt-cstep--done{color:var(--ok)}
.rt-cs-num{width:26px;height:26px;border-radius:50%;background:var(--s2);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;color:var(--muted);flex-shrink:0}
.rt-cstep--on .rt-cs-num{background:var(--pr);color:#fff;border-color:var(--pr)}
.rt-cstep--done .rt-cs-num{background:var(--ok);color:#fff;border-color:var(--ok)}
.rt-cs-num--pr{background:var(--prs);color:var(--pr);border-color:transparent}
.rt-cs-num--neutral{background:var(--s2);color:var(--muted);border-color:transparent}
.rt-cs-line{flex:1;height:2px;background:var(--border);min-width:28px}

.rt-checkout-layout{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}
.rt-checkout-left{display:flex;flex-direction:column;gap:14px}
.rt-checkout-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:20px 22px;box-shadow:var(--sh0)}
.rt-checkout-section-title{display:flex;align-items:center;gap:9px;font-size:.95rem;font-weight:700;margin-bottom:16px;color:var(--text)}

.rt-checkout-section .woocommerce-billing-fields__field-wrapper,
.rt-checkout-section .woocommerce-shipping-fields__field-wrapper{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.rt-checkout-section .form-row-wide{grid-column:1/-1}
.rt-checkout-section .form-row{margin:0;display:flex;flex-direction:column;gap:4px}
.rt-checkout-section .form-row label{font-size:.82rem;font-weight:600;color:var(--muted)}
.rt-checkout-section .form-row label .required{color:var(--pr);margin-left:2px}

.rt-checkout-section .form-row input:not([type=checkbox]):not([type=radio]),
.rt-checkout-section .form-row select,
.rt-checkout-section .form-row textarea{
  width:100%;
  height:42px;
  padding:0 12px;
  background:var(--s2);
  border:1px solid var(--border);
  border-radius:var(--rsm);
  font-size:.9rem;
  color:var(--text);
  transition:border-color .15s,box-shadow .15s;
}

.rt-checkout-section .form-row input:focus,
.rt-checkout-section .form-row select:focus,
.rt-checkout-section .form-row textarea:focus{
  outline:none;
  border-color:var(--pr);
  box-shadow:0 0 0 3px var(--prs);
}

.rt-checkout-section .form-row textarea{height:auto;padding:10px 12px}
.rt-checkout-section .form-row.woocommerce-invalid input,
.rt-checkout-section .form-row.woocommerce-invalid select{border-color:var(--pr)}

.rt-checkout-section .woocommerce-ship-to-different-address{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
  font-weight:600;
  font-size:.9rem;
  cursor:pointer;
}
.rt-checkout-section .woocommerce-ship-to-different-address input[type=checkbox]{
  accent-color:var(--pr);
  width:16px;
  height:16px;
}

.rt-checkout-payment-section #payment{background:transparent}
.rt-checkout-payment-section #payment ul.payment_methods{
  list-style:none;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:9px;
}
.rt-checkout-payment-section #payment ul.payment_methods li{
  background:var(--s2);
  border:1.5px solid var(--border);
  border-radius:var(--rsm);
  padding:13px 15px;
  cursor:pointer;
  transition:border-color .15s,background .15s;
  display:flex;
  flex-direction:column;
  gap:0;
}
.rt-checkout-payment-section #payment ul.payment_methods li:has(input:checked){
  border-color:var(--pr);
  background:var(--prs);
}
.rt-checkout-payment-section #payment ul.payment_methods label{
  display:flex;
  align-items:center;
  gap:9px;
  font-weight:600;
  font-size:.92rem;
  cursor:pointer;
}
.rt-checkout-payment-section #payment ul.payment_methods input[type=radio]{
  accent-color:var(--pr);
  width:16px;
  height:16px;
  flex-shrink:0;
}
.rt-checkout-payment-section #payment .payment_box{
  margin-top:10px;
  padding:10px 13px;
  background:var(--s3);
  border-radius:var(--rsm);
  font-size:.86rem;
  color:var(--muted);
}
.rt-checkout-payment-section #payment .place-order{padding:0;margin-top:16px}
.rt-checkout-payment-section #place_order{
  width:100%;
  padding:14px;
  font-size:1rem;
  font-weight:700;
  background:var(--pr);
  color:#fff;
  border:none;
  border-radius:var(--r);
  cursor:pointer;
  transition:background .18s;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.rt-checkout-summary{position:sticky;top:84px;display:flex;flex-direction:column;gap:14px}
.rt-order-summary-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:20px 22px;box-shadow:var(--sh)}

.rt-checkout-review-mini{width:100%;border-collapse:collapse;font-size:.88rem}
.rt-checkout-review-mini th,
.rt-checkout-review-mini td{padding:9px 0;border-bottom:1px solid var(--border)}
.rt-checkout-review-mini thead th{font-weight:700;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
.rt-checkout-review-mini .product-total{text-align:right;font-weight:600}
.rt-checkout-review-mini tfoot tr:last-child td,
.rt-checkout-review-mini tfoot tr:last-child th{font-weight:700;font-size:1rem;color:var(--text);border-bottom:none}
.rt-checkout-review-mini tfoot .order-total td{color:var(--pr)}

.rt-trust-badges--checkout{
  font-size:.8rem;
  color:var(--muted);
  display:flex;
  flex-direction:column;
  gap:6px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:14px 16px;
}

.woocommerce-error,
.woocommerce-message,
.woocommerce-info{
  border-radius:var(--rsm);
  padding:12px 16px;
  margin-bottom:14px;
  font-size:.9rem;
  list-style:none;
  display:flex;
  align-items:center;
  gap:10px;
}
.woocommerce-error{background:rgba(249,66,58,.08);color:#b31b14;border:1px solid rgba(249,66,58,.2)}
.woocommerce-message{background:var(--oks);color:var(--ok);border:1px solid rgba(30,145,99,.2)}
.woocommerce-info{background:var(--prs);color:var(--pr);border:1px solid rgba(249,66,58,.2)}

/* ══ RESPONSIVO ════════════════════════════════════════════════ */
@media (max-width: 900px){
  .rt-cart-grid,
  .rt-checkout-layout{grid-template-columns:1fr}

  .rt-cart-summary,
  .rt-checkout-summary{position:static}

  .cross-sells ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width: 640px){
  .rt-cart-item{
    grid-template-columns:56px 1fr auto;
    grid-template-rows:auto auto;
  }

  .rt-citem-qty{
    grid-column:2;
    grid-row:2;
    justify-content:flex-start;
  }

  .rt-citem-right{
    grid-column:3;
    grid-row:1/3;
  }

  .rt-shipping-card__top{
    grid-template-columns:1fr;
    gap:3px;
  }

  .rt-shipping-card__price{
    text-align:left;
    white-space:normal;
  }

  .rt-checkout-section .woocommerce-billing-fields__field-wrapper,
  .rt-checkout-section .woocommerce-shipping-fields__field-wrapper{
    grid-template-columns:1fr;
  }

  .cross-sells ul.products{grid-template-columns:1fr}
}

/* ══ CHECKOUT — MÉTODOS DE PAGAMENTO EM CARDS ═════════════════ */

/* Wrapper geral */
.woocommerce-checkout #payment{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.woocommerce-checkout #payment ul.payment_methods{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  border:0 !important;
}

.woocommerce-checkout #payment ul.payment_methods::before,
.woocommerce-checkout #payment ul.payment_methods::after{
  display:none !important;
}

/* Card base */
.woocommerce-checkout #payment ul.payment_methods > li{
  position:relative;
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:start;
  column-gap:10px;
  row-gap:6px;
  margin:0 !important;
  padding:14px 14px 14px 14px !important;
  background:var(--s2) !important;
  border:1px solid var(--border) !important;
  border-radius:var(--rsm) !important;
  transition:border-color .16s ease, background .16s ease, box-shadow .16s ease;
  float:none !important;
  width:100% !important;
}

/* Hover */
.woocommerce-checkout #payment ul.payment_methods > li:hover{
  background:var(--surface) !important;
  border-color:rgba(249,66,58,.28) !important;
  box-shadow:var(--sh0);
}

/* Card selecionado */
.woocommerce-checkout #payment ul.payment_methods > li:has(> input[type="radio"]:checked){
  background:var(--prs) !important;
  border-color:var(--pr) !important;
  box-shadow:0 0 0 3px var(--prs);
}

/* Radio */
.woocommerce-checkout #payment ul.payment_methods > li > input[type="radio"]{
  grid-column:1;
  grid-row:1;
  width:16px !important;
  height:16px !important;
  margin:3px 0 0 !important;
  accent-color:var(--pr);
  float:none !important;
  position:relative !important;
}

/* Título / label */
.woocommerce-checkout #payment ul.payment_methods > li > label{
  grid-column:2;
  grid-row:1;
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  margin:0 !important;
  padding:0 !important;
  font-size:.92rem;
  font-weight:700;
  line-height:1.35;
  color:var(--text) !important;
  cursor:pointer;
}

/* Ícones dos gateways */
.woocommerce-checkout #payment ul.payment_methods > li > label img,
.woocommerce-checkout #payment ul.payment_methods > li > label .about_paypal{
  margin-left:auto;
}

/* Caixa de descrição */
.woocommerce-checkout #payment div.payment_box{
  grid-column:2;
  grid-row:2;
  width:100%;
  margin:0 !important;
  padding:10px 12px !important;
  background:var(--surface) !important;
  border:1px solid var(--border) !important;
  border-radius:12px !important;
  color:var(--muted) !important;
  font-size:.84rem !important;
  line-height:1.5;
  box-shadow:none !important;
}

/* Remove o triângulo default da payment_box */
.woocommerce-checkout #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::after{
  display:none !important;
}

/* Campos dentro de gateways, ex. cartão */
.woocommerce-checkout #payment div.payment_box input:not([type="radio"]):not([type="checkbox"]),
.woocommerce-checkout #payment div.payment_box select,
.woocommerce-checkout #payment div.payment_box textarea{
  width:100%;
  height:42px;
  padding:0 12px;
  background:var(--s2);
  border:1px solid var(--border);
  border-radius:12px;
  color:var(--text);
  font-size:.9rem;
}

.woocommerce-checkout #payment div.payment_box textarea{
  height:auto;
  min-height:90px;
  padding:10px 12px;
}

.woocommerce-checkout #payment div.payment_box input:focus,
.woocommerce-checkout #payment div.payment_box select:focus,
.woocommerce-checkout #payment div.payment_box textarea:focus{
  outline:none;
  border-color:var(--pr);
  box-shadow:0 0 0 3px var(--prs);
}

/* Saved methods / checkbox */
.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods{
  margin:10px 0 0;
  padding:0;
  list-style:none;
}

.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods li{
  margin:0 0 8px;
}

.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods label{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:.86rem;
  color:var(--text);
}

/* Termos e place order */
.woocommerce-checkout #payment .form-row.place-order{
  padding:0 !important;
  margin-top:16px;
}

.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper{
  margin-bottom:14px;
}

.woocommerce-checkout #payment .woocommerce-privacy-policy-text,
.woocommerce-checkout #payment .form-row.validate-required{
  font-size:.83rem;
  line-height:1.55;
  color:var(--muted);
}

/* Botão final */
.woocommerce-checkout #place_order{
  width:100%;
  min-height:50px;
  padding:14px 18px;
  border:none !important;
  border-radius:var(--rf) !important;
  background:var(--pr) !important;
  color:#fff !important;
  font-size:1rem;
  font-weight:800;
  box-shadow:none !important;
}

.woocommerce-checkout #place_order:hover,
.woocommerce-checkout #place_order:focus,
.woocommerce-checkout #place_order:active{
  background:var(--pr) !important;
  color:#fff !important;
  filter:brightness(.96);
  box-shadow:none !important;
}

/* Mobile */
@media (max-width:640px){
  .woocommerce-checkout #payment ul.payment_methods > li > label{
    flex-wrap:wrap;
    justify-content:flex-start;
  }

  .woocommerce-checkout #payment ul.payment_methods > li > label img{
    margin-left:0;
  }
}

.rt-checkout-step[hidden]{
	display:none !important;
}

.rt-step-actions{
	display:flex;
	justify-content:flex-end;
	gap:10px;
	margin-top:18px;
	padding-top:16px;
	border-top:1px solid var(--border);
}

.rt-step-actions--split{
	justify-content:space-between;
}

.rt-step-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:44px;
	padding:0 18px;
	border:1px solid var(--border);
	border-radius:999px;
	background:var(--surface);
	color:var(--text);
	font-weight:700;
	cursor:pointer;
	text-decoration:none;
}

.rt-step-btn--primary{
	border-color:var(--pr);
	background:var(--pr);
	color:#fff;
}

.rt-checkout-summary-note{
	font-size:.84rem;
	line-height:1.45;
	color:var(--muted);
	margin-bottom:10px;
}

.rt-checkout-review-mini .product-name{
	max-width:28ch;
}

.rt-checkout-review-mini .product-quantity{
	display:inline-block;
	margin-left:6px;
}

@media (max-width:640px){
	.rt-step-actions,
	.rt-step-actions--split{
		flex-direction:column-reverse;
	}

	.rt-step-btn{
		width:100%;
	}
}

/* CHECKOUT — métodos de envio em cards */
.rt-checkout-shipping-section .woocommerce-shipping-methods,
.rt-checkout-shipping-table .woocommerce-shipping-methods{
	list-style:none;
	padding:0;
	margin:0;
	display:flex;
	flex-direction:column;
	gap:10px;
}

.rt-checkout-shipping-section .woocommerce-shipping-methods li,
.rt-checkout-shipping-table .woocommerce-shipping-methods li{
	position:relative;
	display:grid;
	grid-template-columns:20px minmax(0,1fr);
	column-gap:12px;
	row-gap:4px;
	align-items:start;
	padding:12px 14px;
	border:1.5px solid var(--border);
	border-radius:14px;
	background:var(--s2);
	transition:border-color .18s ease, background .18s ease, box-shadow .18s ease;
	float:none !important;
	width:auto !important;
	margin:0 !important;
}

.rt-checkout-shipping-section .woocommerce-shipping-methods li:has(input:checked),
.rt-checkout-shipping-table .woocommerce-shipping-methods li:has(input:checked){
	border-color:var(--pr);
	background:var(--prs);
	box-shadow:0 8px 24px rgba(249,66,58,.10);
}

.rt-checkout-shipping-section .woocommerce-shipping-methods li:hover,
.rt-checkout-shipping-table .woocommerce-shipping-methods li:hover{
	border-color:rgba(249,66,58,.35);
}

.rt-checkout-shipping-section .woocommerce-shipping-methods input[type="radio"],
.rt-checkout-shipping-table .woocommerce-shipping-methods input[type="radio"]{
	grid-column:1;
	grid-row:1;
	width:16px;
	height:16px;
	margin:2px 0 0;
	accent-color:var(--pr);
	flex-shrink:0;
}

.rt-checkout-shipping-section .woocommerce-shipping-methods label,
.rt-checkout-shipping-table .woocommerce-shipping-methods label{
	grid-column:2;
	grid-row:1;
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:12px;
	width:100%;
	font-size:.9rem;
	font-weight:600;
	line-height:1.4;
	color:var(--text);
	cursor:pointer;
}

.rt-checkout-shipping-section .woocommerce-shipping-methods .woocommerce-Price-amount,
.rt-checkout-shipping-table .woocommerce-shipping-methods .woocommerce-Price-amount{
	margin-left:auto;
	font-weight:800;
	color:var(--text);
	white-space:nowrap;
}

.rt-checkout-shipping-section .cppw_shipping_method_instructions,
.rt-checkout-shipping-section .cppw-shipping-method-instructions,
.rt-checkout-shipping-section .pickup-location-container,
.rt-checkout-shipping-section .pickup-point-map,
.rt-checkout-shipping-table .cppw_shipping_method_instructions,
.rt-checkout-shipping-table .cppw-shipping-method-instructions,
.rt-checkout-shipping-table .pickup-location-container,
.rt-checkout-shipping-table .pickup-point-map{
	grid-column:2;
	width:100%;
	margin-top:4px;
	font-size:.8rem;
	line-height:1.45;
	color:var(--muted);
	background:transparent !important;
}

.rt-checkout-shipping-section .woocommerce-shipping-destination,
.rt-checkout-shipping-table .woocommerce-shipping-destination{
	display:block;
	margin-top:12px;
	padding-top:12px;
	border-top:1px solid var(--border);
	font-size:.82rem;
	line-height:1.45;
	color:var(--muted);
}

.rt-checkout-shipping-section .shipping-calculator-button,
.rt-checkout-shipping-table .shipping-calculator-button{
	display:inline-block;
	margin-top:6px;
	font-size:.8rem;
	color:var(--pr);
	text-decoration:underline;
}

@media (max-width:640px){
	.rt-checkout-shipping-section .woocommerce-shipping-methods label,
	.rt-checkout-shipping-table .woocommerce-shipping-methods label{
		flex-direction:column;
		align-items:flex-start;
		gap:4px;
	}
}

.rt-cppw-host{
	margin-top:12px;
}

#cppw{
	padding:14px;
	border:1px solid var(--border);
	border-radius:14px;
	background:var(--s2);
}

#cppw_field{
	margin:0;
}

#cppw label{
	display:block;
	font-size:.9rem;
	font-weight:700;
	color:var(--text);
	margin-bottom:10px;
}

#cppw .cppw-points-fragment{
	display:block;
}

#cppw .select2-container{
	width:100% !important;
}

#cppw_mapbox_interactive{
	margin-top:12px !important;
	border:1px solid var(--border);
	border-radius:12px !important;
	overflow:hidden;
}

#cppw .cppw-points-fragment-point-details{
	display:block;
	margin-top:12px;
	padding-top:12px;
	border-top:1px solid var(--border);
	font-size:.84rem;
	line-height:1.5;
	color:var(--muted);
}
.rt-cppw-host{
	display:block;
	width:100%;
	margin-top:12px;
}

#cppw{
	display:block;
	width:100%;
}

#cppw_mapbox_interactive{
	width:100% !important;
	min-height:400px;
}

.rt-order-hero,
.rt-order-grid {
	display: grid;
	gap: 24px;
}

.rt-order-hero,
.rt-order-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.75fr);
	gap: 24px;
	align-items: start;
}

.rt-order-hero {
	margin-bottom: 24px;
}

.rt-order-hero > *,
.rt-order-grid > *,
.rt-order-col,
.rt-order-col--side,
.rt-order-card,
.rt-info-card,
.rt-order-table-wrap {
	min-width: 0;
	max-width: 100%;
}

.rt-order-col,
.rt-order-col--side {
	width: 100%;
}

.rt-order-card,
.rt-info-card,
.rt-order-hero__main {
	width: 100%;
}

.rt-order-table {
	width: 100%;
	table-layout: fixed;
}

.rt-order-col {
	display: grid;
	gap: 24px;
}

.rt-order-card--highlight {
	background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.rt-order-card--soft {
	background: #fcfcfc;
}

.rt-order-hero__badge,
.rt-order-state__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	border-radius: 999px;
	background: #ecfdf3;
	color: #166534;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	margin-bottom: 14px;
}

.rt-order-state--failed .rt-order-state__eyebrow {
	background: #fef2f2;
	color: #b91c1c;
}

.rt-order-hero__title,
.rt-order-state__title {
	margin: 0 0 10px;
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.08;
	font-weight: 800;
	color: #101828;
}

.rt-order-hero__text,
.rt-order-state__text,
.rt-order-help {
	margin: 0;
	font-size: 16px;
	line-height: 1.65;
	color: #475467;
	max-width: 62ch;
}

.rt-order-card__title {
	margin: 0 0 18px;
	font-size: 20px;
	line-height: 1.2;
	font-weight: 800;
	color: #101828;
}

.rt-order-facts,
.rt-order-steps,
.rt-order-help-list,
.rt-order-overview {
	list-style: none;
	margin: 0;
	padding: 0;
}

.rt-order-facts li,
.rt-order-help-list li,
.rt-order-overview li {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid #eef2f6;
}

.rt-order-facts li:last-child,
.rt-order-help-list li:last-child,
.rt-order-overview li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.rt-order-facts span,
.rt-order-help-list span,
.rt-order-overview span {
	color: #667085;
	font-size: 14px;
}

.rt-order-facts strong,
.rt-order-help-list strong,
.rt-order-overview strong {
	color: #101828;
	font-size: 15px;
	font-weight: 700;
	text-align: right;
}

.rt-order-steps {
	display: grid;
	gap: 14px;
}

.rt-order-steps li {
	padding: 16px 18px;
	border: 1px solid #edf0f3;
	border-radius: 14px;
	background: #fafafa;
}

.rt-order-steps strong {
	display: block;
	margin-bottom: 6px;
	color: #101828;
	font-size: 15px;
}

.rt-order-steps span {
	display: block;
	color: #475467;
	font-size: 14px;
	line-height: 1.6;
}

.rt-order-note {
	margin-top: 18px;
	padding: 14px 16px;
	border-radius: 14px;
	background: #f8fafc;
	border: 1px solid #e6edf5;
	color: #334155;
	font-size: 14px;
}

.rt-order-state {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 20px;
	align-items: start;
}

.rt-order-state--neutral {
	grid-template-columns: 1fr;
}

.rt-order-state__icon {
	width: 52px;
	height: 52px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: #fef2f2;
	color: #b91c1c;
	font-size: 24px;
	font-weight: 800;
}

:root {
	--rt-card-bg: #ffffff;
	--rt-card-bg-soft: #fcfcfc;
	--rt-card-bg-muted: #fafafa;
	--rt-card-bg-alt: #f8fafc;

	--rt-border: #e8e8e8;
	--rt-border-soft: #edf0f3;
	--rt-border-strong: #d0d5dd;

	--rt-text: #101828;
	--rt-text-muted: #475467;
	--rt-text-soft: #667085;
	--rt-text-inverse: #ffffff;

	--rt-primary: #111827;
	--rt-primary-hover: #000000;

	--rt-success-bg: #ecfdf3;
	--rt-success-text: #166534;

	--rt-danger-bg: #fef2f2;
	--rt-danger-text: #b91c1c;

	--rt-shadow: 0 10px 30px rgba(16, 24, 40, 0.04);
}

html[data-theme="dark"] {
	--rt-card-bg: #161b22;
	--rt-card-bg-soft: #1b2129;
	--rt-card-bg-muted: #202833;
	--rt-card-bg-alt: #1d2630;

	--rt-border: #2d3748;
	--rt-border-soft: #344054;
	--rt-border-strong: #475467;

	--rt-text: #f2f4f7;
	--rt-text-muted: #cbd5e1;
	--rt-text-soft: #98a2b3;
	--rt-text-inverse: #0b0f14;

	--rt-primary: #f2f4f7;
	--rt-primary-hover: #ffffff;

	--rt-success-bg: rgba(34, 197, 94, 0.14);
	--rt-success-text: #86efac;

	--rt-danger-bg: rgba(239, 68, 68, 0.16);
	--rt-danger-text: #fca5a5;

	--rt-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
}

@media (prefers-color-scheme: dark) {
	html:not([data-theme="light"]) {
		--rt-card-bg: #161b22;
		--rt-card-bg-soft: #1b2129;
		--rt-card-bg-muted: #202833;
		--rt-card-bg-alt: #1d2630;

		--rt-border: #2d3748;
		--rt-border-soft: #344054;
		--rt-border-strong: #475467;

		--rt-text: #f2f4f7;
		--rt-text-muted: #cbd5e1;
		--rt-text-soft: #98a2b3;
		--rt-text-inverse: #0b0f14;

		--rt-primary: #f2f4f7;
		--rt-primary-hover: #ffffff;

		--rt-success-bg: rgba(34, 197, 94, 0.14);
		--rt-success-text: #86efac;

		--rt-danger-bg: rgba(239, 68, 68, 0.16);
		--rt-danger-text: #fca5a5;

		--rt-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
	}
}

.rt-thankyou-page {
	padding: 32px 0 12px;
	color: var(--rt-text);
}

.rt-order-hero,
.rt-order-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.75fr);
	align-items: start;
}

.rt-order-hero {
	margin-bottom: 24px;
}

.rt-order-col {
	display: grid;
	gap: 24px;
}

.rt-order-hero > *,
.rt-order-grid > *,
.rt-order-col,
.rt-order-col--side,
.rt-order-card,
.rt-info-card,
.rt-order-table-wrap {
	min-width: 0;
	max-width: 100%;
}

.rt-order-col,
.rt-order-col--side,
.rt-order-card,
.rt-info-card,
.rt-order-hero__main {
	width: 100%;
}

.rt-order-card,
.rt-info-card,
.rt-order-state,
.rt-order-hero__main {
	background: var(--rt-card-bg);
	border: 1px solid var(--rt-border);
	border-radius: 18px;
	padding: 24px;
	box-shadow: var(--rt-shadow);
}

.rt-order-card--highlight {
	background: linear-gradient(180deg, var(--rt-card-bg) 0%, var(--rt-card-bg-alt) 100%);
}

.rt-order-card--soft {
	background: var(--rt-card-bg-soft);
}

.rt-order-hero__badge,
.rt-order-state__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--rt-success-bg);
	color: var(--rt-success-text);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	margin-bottom: 14px;
}

.rt-order-state--failed .rt-order-state__eyebrow {
	background: var(--rt-danger-bg);
	color: var(--rt-danger-text);
}

.rt-order-hero__title,
.rt-order-state__title {
	margin: 0 0 10px;
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.08;
	font-weight: 800;
	color: var(--rt-text);
}

.rt-order-hero__text,
.rt-order-state__text,
.rt-order-help,
.rt-bank-copy {
	margin: 0;
	font-size: 16px;
	line-height: 1.65;
	color: var(--rt-text-muted);
	max-width: 62ch;
}

.rt-order-card__title,
.rt-info-card__title,
.rt-thankyou-page .woocommerce-order-details__title {
	margin: 0 0 18px;
	font-size: 20px;
	line-height: 1.2;
	font-weight: 800;
	color: var(--rt-text);
}

.rt-info-card__title {
	font-size: 24px;
	line-height: 1.15;
}

.rt-order-facts,
.rt-order-steps,
.rt-order-help-list,
.rt-order-overview {
	list-style: none;
	margin: 0;
	padding: 0;
}

.rt-order-facts li,
.rt-order-help-list li,
.rt-order-overview li {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid var(--rt-border-soft);
}

.rt-order-facts li:last-child,
.rt-order-help-list li:last-child,
.rt-order-overview li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.rt-order-facts span,
.rt-order-help-list span,
.rt-order-overview span {
	color: var(--rt-text-soft);
	font-size: 14px;
}

.rt-order-facts strong,
.rt-order-help-list strong,
.rt-order-overview strong {
	color: var(--rt-text);
	font-size: 15px;
	font-weight: 700;
	text-align: right;
}

.rt-order-steps {
	display: grid;
	gap: 14px;
}

.rt-order-steps li {
	padding: 16px 18px;
	border: 1px solid var(--rt-border-soft);
	border-radius: 14px;
	background: var(--rt-card-bg-muted);
}

.rt-order-steps strong {
	display: block;
	margin-bottom: 6px;
	color: var(--rt-text);
	font-size: 15px;
}

.rt-order-steps span {
	display: block;
	color: var(--rt-text-muted);
	font-size: 14px;
	line-height: 1.6;
}

.rt-order-note {
	margin-top: 18px;
	padding: 14px 16px;
	border-radius: 14px;
	background: var(--rt-card-bg-alt);
	border: 1px solid var(--rt-border-soft);
	color: var(--rt-text-muted);
	font-size: 14px;
}

.rt-order-state {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 20px;
	align-items: start;
}

.rt-order-state--neutral {
	grid-template-columns: 1fr;
}

.rt-order-state__icon {
	width: 52px;
	height: 52px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--rt-danger-bg);
	color: var(--rt-danger-text);
	font-size: 24px;
	font-weight: 800;
}

.rt-order-state__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 22px;
}

.rt-order-state__actions--stack {
	flex-direction: column;
}

.rt-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 18px;
	border-radius: 12px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: .2s ease;
}

.rt-btn--primary {
	background: var(--rt-primary);
	color: var(--rt-text-inverse);
	border: 1px solid var(--rt-primary);
}

.rt-btn--primary:hover {
	background: var(--rt-primary-hover);
	border-color: var(--rt-primary-hover);
	color: var(--rt-text-inverse);
}

.rt-btn--secondary {
	background: var(--rt-card-bg);
	color: var(--rt-text);
	border: 1px solid var(--rt-border-strong);
}

.rt-btn--secondary:hover {
	background: var(--rt-card-bg-alt);
	color: var(--rt-text);
}

.rt-btn--ghost {
	background: var(--rt-card-bg-alt);
	color: var(--rt-text);
	border: 1px solid var(--rt-border-soft);
}

.rt-btn--ghost:hover {
	background: var(--rt-card-bg-muted);
	color: var(--rt-text);
}

.rt-thankyou-page .woocommerce-order-details,
.rt-thankyou-page .woocommerce-table--order-details,
.rt-thankyou-page .woocommerce-table__product-name,
.rt-thankyou-page .woocommerce-table__product-total {
	font-size: 14px;
}

.rt-thankyou-page table.shop_table,
.rt-order-table {
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--rt-border-soft);
	border-radius: 14px;
	overflow: hidden;
	background: var(--rt-card-bg);
}

.rt-thankyou-page table.shop_table th,
.rt-thankyou-page table.shop_table td,
.rt-order-table th,
.rt-order-table td {
	padding: 14px 16px;
	border-bottom: 1px solid var(--rt-border-soft);
	color: var(--rt-text);
}

.rt-order-table {
	width: 100%;
	table-layout: fixed;
}

.rt-order-table th,
.rt-order-table td {
	text-align: left;
	font-size: 15px;
	vertical-align: top;
}

.rt-order-table thead th {
	background: var(--rt-card-bg-alt);
	font-weight: 800;
	color: var(--rt-text);
}

.rt-order-table td:last-child,
.rt-order-table th:last-child {
	text-align: right;
	white-space: nowrap;
}

.rt-thankyou-page table.shop_table tr:last-child th,
.rt-thankyou-page table.shop_table tr:last-child td,
.rt-order-table tr:last-child td,
.rt-order-table tr:last-child th {
	border-bottom: 0;
}

.rt-order-product {
	display: flex;
	align-items: baseline;
	gap: 6px;
	flex-wrap: wrap;
}

.rt-order-product__name {
	color: var(--rt-text);
	font-weight: 600;
}

.rt-order-product__qty {
	color: var(--rt-text-muted);
	font-weight: 700;
}

.rt-thankyou-page .woocommerce-customer-details {
	margin-top: 24px;
}

.rt-thankyou-page .woocommerce-customer-details address {
	border: 1px solid var(--rt-border-soft);
	border-radius: 14px;
	padding: 18px;
	background: var(--rt-card-bg);
	font-style: normal;
	line-height: 1.7;
	color: var(--rt-text-muted);
}

.rt-info-card + .rt-info-card {
	margin-top: 24px;
}

.rt-order-table-wrap {
	overflow-x: auto;
}

.rt-bank-copy {
	margin: 0 0 18px;
	font-size: 15px;
	line-height: 1.7;
	color: var(--rt-text-muted);
}

.rt-bank-copy p {
	margin: 0 0 10px;
}

.rt-bank-grid {
	display: grid;
	gap: 16px;
}

.rt-bank-card {
	padding: 18px;
	border: 1px solid var(--rt-border-soft);
	border-radius: 14px;
	background: var(--rt-card-bg-muted);
	color: var(--rt-text);
}

/* DPD Pickup */
.rt-info-card--dpd section {
	margin: 0;
}

.rt-info-card--dpd h2,
.rt-info-card--dpd h3,
.rt-info-card--dpd strong:first-child {
	margin-top: 0;
}

.rt-info-card--dpd .rt-pickup--plugin > section {
	display: grid;
	gap: 10px;
}

.rt-info-card--dpd .rt-pickup--plugin p {
	margin: 0;
	color: var(--rt-text-muted);
	line-height: 1.6;
}

.rt-info-card--dpd .rt-pickup--plugin strong,
.rt-info-card--dpd .rt-pickup--plugin b {
	color: var(--rt-text);
}

.rt-info-card--dpd .rt-pickup--plugin * {
	word-break: break-word;
}

.rt-info-card--dpd .rt-pickup--plugin p:has(span),
.rt-info-card--dpd .rt-pickup--plugin p:has(.cppw-point-schedule) {
	margin: 0;
}


@media (max-width: 980px) {
	.rt-order-hero,
	.rt-order-grid {
		grid-template-columns: 1fr;
	}

	.rt-order-hero__side,
	.rt-order-col--side {
		order: 2;
	}

	.rt-order-facts li,
	.rt-order-help-list li,
	.rt-order-overview li {
		flex-direction: column;
		align-items: flex-start;
	}

	.rt-order-facts strong,
	.rt-order-help-list strong,
	.rt-order-overview strong {
		text-align: left;
	}

	.rt-order-table {
		table-layout: auto;
	}
}

@media (max-width: 640px) {
	.rt-thankyou-page {
		padding-top: 20px;
	}

	.rt-order-card,
	.rt-info-card,
	.rt-order-state,
	.rt-order-hero__main {
		padding: 18px;
		border-radius: 16px;
	}

	.rt-order-hero__title,
	.rt-order-state__title {
		font-size: 28px;
	}

	.rt-order-state {
		grid-template-columns: 1fr;
	}

	.rt-btn,
	.rt-order-state__actions a {
		width: 100%;
	}
}

.rt-bank-card h3 {
	margin: 0 0 14px;
	font-size: 18px;
	line-height: 1.2;
	font-weight: 800;
	color: var(--rt-text);
}

.rt-bank-card ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.rt-bank-card li {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--rt-border-soft);
}

.rt-bank-card li:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.rt-bank-card span {
	color: var(--rt-text-soft);
	font-size: 14px;
}

.rt-bank-card strong {
	color: var(--rt-text);
	font-size: 15px;
	font-weight: 800;
	text-align: right;
}

.rt-pickup__id,
.rt-pickup__name,
.rt-pickup__address p {
	margin: 0 0 8px;
}

.rt-pickup__id strong {
	font-size: 18px;
	color: var(--rt-text);
}

.rt-pickup__name {
	font-weight: 700;
	color: var(--rt-text);
}

.rt-pickup__address {
	color: var(--rt-text-muted);
	font-size: 15px;
	line-height: 1.7;
}

.rt-address-box {
	padding: 18px;
	border: 1px solid var(--rt-border-soft);
	border-radius: 14px;
	background: var(--rt-card-bg-soft);
	color: var(--rt-text-muted);
	font-size: 15px;
	line-height: 1.75;
}

.rt-address-box p {
	margin: 0 0 8px;
}

.rt-address-box p:last-child {
	margin-bottom: 0;
}

.rt-address-extra {
	color: var(--rt-text);
	font-weight: 600;
}

.rt-order-card--dpd {
	border-color: var(--rt-border-soft);
	background: linear-gradient(180deg, var(--rt-card-bg) 0%, var(--rt-card-bg-alt) 100%);
}

/* =========================
   WooCommerce My Account
   Ritmo TV - dark mode ready
   ========================= */

.woocommerce-account .site-main {
  padding-top: 28px;
  padding-bottom: 64px;
}

.woocommerce-account .woocommerce {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 18px;
}

/* Layout principal */
.rtv-account-shell {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

/* ── Sidebar ── */
.rtv-account-sidebar {
  position: sticky;
  top: 92px;
}

.rtv-account-sidebar-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,.04);
}

/* Cabeçalho da nav */
.rtv-account-nav-header {
  padding: 8px 14px 14px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 10px;
}

.rtv-account-nav-eyebrow {
  display: block;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--mut);
  margin-bottom: 4px;
}

.rtv-account-nav-title {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--tx);
  line-height: 1.2;
}

/* Lista de navegação */
.rtv-account-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 4px;
}

.rtv-account-nav li {
  margin: 0;
  padding: 0;
}

.rtv-account-nav a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid transparent;
  border-radius: 14px;
  text-decoration: none;
  color: var(--tx);
  font-weight: 600;
  font-size: .92rem;
  background: transparent;
  transition: .18s ease;
}

.rtv-account-nav a:hover,
.rtv-account-nav a:focus {
  background: var(--soft);
  border-color: var(--line);
  color: var(--tx);
  outline: none;
}

.rtv-account-nav li.is-active a {
  background: rgba(249, 66, 58, .10);
  border-color: rgba(249, 66, 58, .28);
  color: var(--pr);
}

.rtv-account-nav-label {
  flex: 1;
}

/* ── Conteúdo principal ── */
.rtv-account-main {
  min-width: 0;
}

.rtv-account-content-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 28px;
  box-shadow: 0 10px 30px rgba(0,0,0,.04);
}

.rtv-account-content-card > :first-child {
  margin-top: 0;
}

.rtv-account-content-card h1,
.rtv-account-content-card h2,
.rtv-account-content-card h3 {
  color: var(--tx);
  line-height: 1.1;
}

.rtv-account-content-card p,
.rtv-account-content-card li,
.rtv-account-content-card label,
.rtv-account-content-card address {
  color: var(--tx);
}

.rtv-account-content-card a {
  color: var(--pr);
  text-decoration: none;
}

.rtv-account-content-card a:hover {
  text-decoration: underline;
}

/* Mensagens */
.rtv-account-content-card .woocommerce-info,
.rtv-account-content-card .woocommerce-message,
.rtv-account-content-card .woocommerce-error {
  margin-bottom: 18px;
  border-radius: 16px;
}

/* ── Tabelas encomendas ── */
.rtv-account-content-card table.shop_table,
.rtv-account-content-card table.woocommerce-MyAccount-orders,
.rtv-account-content-card table.my_account_orders {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
}

.rtv-account-content-card table thead th {
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
  background: var(--soft);
  color: var(--mut);
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  text-align: left;
}

.rtv-account-content-card table tbody td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  color: var(--tx);
  vertical-align: middle;
}

.rtv-account-content-card table tbody tr:last-child td {
  border-bottom: 0;
}

/* ── Botões ── */
.rtv-account-content-card .button,
.rtv-account-content-card a.button,
.rtv-account-content-card button.button,
.rtv-account-content-card input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: var(--pr);
  color: #fff;
  font-weight: 700;
  font-size: .9rem;
  text-decoration: none;
  cursor: pointer;
  transition: .18s ease;
}

.rtv-account-content-card .button:hover,
.rtv-account-content-card a.button:hover,
.rtv-account-content-card button.button:hover,
.rtv-account-content-card input[type="submit"]:hover {
  filter: brightness(.95);
  color: #fff;
}

.rtv-account-content-card .button.alt,
.rtv-account-content-card .woocommerce-button.view {
  background: var(--soft);
  color: var(--tx);
  border-color: var(--line);
}

.rtv-account-content-card .button.alt:hover,
.rtv-account-content-card .woocommerce-button.view:hover {
  background: var(--card);
}

/* ── Formulários ── */
.rtv-account-content-card .form-row,
.rtv-account-content-card .woocommerce-form-row {
  margin-bottom: 14px;
}

.rtv-account-content-card label {
  display: block;
  margin-bottom: 6px;
  color: var(--mut);
  font-size: .83rem;
  font-weight: 700;
}

.rtv-account-content-card .required { color: var(--pr); }

.rtv-account-content-card input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]),
.rtv-account-content-card select,
.rtv-account-content-card textarea {
  width: 100%;
  min-height: 46px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--soft);
  color: var(--tx);
  font-size: .95rem;
  box-sizing: border-box;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.rtv-account-content-card textarea {
  min-height: 120px;
  padding: 12px 14px;
  resize: vertical;
}

.rtv-account-content-card input::placeholder,
.rtv-account-content-card textarea::placeholder {
  color: var(--mut);
  opacity: 1;
}

.rtv-account-content-card input:focus,
.rtv-account-content-card select:focus,
.rtv-account-content-card textarea:focus {
  outline: none;
  border-color: rgba(249, 66, 58, .45);
  box-shadow: 0 0 0 3px rgba(249, 66, 58, .12);
  background: var(--card);
}

/* ── Endereços ── */
.rtv-account-content-card .addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.rtv-account-content-card .woocommerce-Address {
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 18px;
}

.rtv-account-content-card .woocommerce-Address-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.rtv-account-content-card .woocommerce-Address-title h3 {
  margin: 0;
  font-size: 1rem;
}

.rtv-account-content-card address {
  color: var(--mut);
  font-style: normal;
  line-height: 1.7;
}

/* ── Focus acessível ── */
.rtv-account-nav a:focus-visible,
.rtv-account-content-card a:focus-visible,
.rtv-account-content-card button:focus-visible,
.rtv-account-content-card input:focus-visible,
.rtv-account-content-card select:focus-visible,
.rtv-account-content-card textarea:focus-visible {
  outline: 2px solid var(--pr);
  outline-offset: 2px;
}

/* ── Mobile ── */
@media (max-width: 980px) {
  .rtv-account-shell {
    grid-template-columns: 1fr;
  }

  .rtv-account-sidebar {
    position: static;
  }

  .rtv-account-content-card .addresses {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .woocommerce-account .site-main {
    padding-top: 20px;
    padding-bottom: 48px;
  }

  .woocommerce-account .woocommerce {
    padding: 0 14px;
  }

  .rtv-account-shell {
    gap: 14px;
  }

  .rtv-account-sidebar-card,
  .rtv-account-content-card {
    border-radius: 18px;
    padding: 18px;
  }

  .rtv-account-content-card table.shop_table,
  .rtv-account-content-card table.woocommerce-MyAccount-orders {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* ── Order Detail ── */

.rtv-order-detail {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* Cabeçalho */
.rtv-order-detail-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
}

.rtv-order-detail-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.rtv-order-detail-number {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--tx);
}

.rtv-order-detail-date {
  font-size: .83rem;
  color: var(--mut);
}

/* Badge de estado */
.rtv-order-status {
  display: inline-flex;
  align-items: center;
  padding: 5px 14px;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  background: var(--soft);
  color: var(--mut);
  border: 1px solid var(--line);
}

.rtv-order-status--processing,
.rtv-order-status--on-hold {
  background: rgba(249,66,58,.08);
  color: var(--pr);
  border-color: rgba(249,66,58,.2);
}

.rtv-order-status--completed {
  background: rgba(30,145,99,.08);
  color: #1a7a52;
  border-color: rgba(30,145,99,.2);
}

.rtv-order-status--cancelled,
.rtv-order-status--refunded,
.rtv-order-status--failed {
  background: rgba(120,120,120,.08);
  color: var(--mut);
  border-color: var(--line);
}

/* Secção */
.rtv-order-detail-section {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.rtv-order-detail-section-title {
  margin: 0;
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--mut);
}

/* Tabela de produtos */
.rtv-order-items-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
}

.rtv-order-items-table thead th {
  padding: 11px 16px;
  background: var(--soft);
  border-bottom: 1px solid var(--line);
  font-size: .74rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--mut);
  text-align: left;
}

.rtv-order-items-table thead th.center { text-align: center; }
.rtv-order-items-table thead th.right  { text-align: right; }

.rtv-order-items-table tbody td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  color: var(--tx);
  vertical-align: middle;
}

.rtv-order-items-table tbody tr:last-child td {
  border-bottom: 0;
}

.rtv-order-item-product {
  display: flex;
  align-items: center;
  gap: 14px;
}

.rtv-order-item-product img {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  object-fit: contain;
  background: var(--soft);
  border: 1px solid var(--line);
  flex-shrink: 0;
  padding: 4px;
}

.rtv-order-item-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.rtv-order-item-name {
  font-weight: 700;
  font-size: .92rem;
  color: var(--tx);
}

.rtv-order-item-name a {
  color: var(--tx);
  text-decoration: none;
}

.rtv-order-item-name a:hover {
  color: var(--pr);
}

.rtv-order-item-qty {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  border-radius: 999px;
  background: var(--soft);
  border: 1px solid var(--line);
  font-size: .82rem;
  font-weight: 700;
  color: var(--tx);
}

.rtv-order-item-total,
.rtv-order-items-table td.right {
  text-align: right;
  font-weight: 700;
  white-space: nowrap;
  color: var(--tx);
}

/* Totais no tfoot */
.rtv-order-items-table tfoot tr th,
.rtv-order-items-table tfoot tr td {
  padding: 11px 16px;
  border-top: 1px solid var(--line);
  font-size: .88rem;
  color: var(--mut);
}

.rtv-order-items-table tfoot tr td {
  text-align: right;
  font-weight: 600;
}

.rtv-order-grand-total th,
.rtv-order-grand-total td {
  font-size: 1rem;
  font-weight: 800;
  color: var(--tx) !important;
  border-top: 2px solid var(--line) !important;
}

/* Moradas */
.rtv-order-addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.rtv-order-address-card {
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.rtv-order-address-card address {
  font-style: normal;
  color: var(--tx);
  line-height: 1.7;
  font-size: .9rem;
}

.rtv-order-address-extra {
  font-size: .85rem;
  color: var(--mut);
  margin: 0;
}

/* Notas */
.rtv-order-notes {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.rtv-order-note {
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px 16px;
}

.rtv-order-note-date {
  display: block;
  font-size: .76rem;
  font-weight: 700;
  color: var(--mut);
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.rtv-order-note p {
  margin: 0;
  font-size: .9rem;
  color: var(--tx);
}

/* Acções */
.rtv-order-detail-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 6px;
  border-top: 1px solid var(--line);
  flex-wrap: wrap;
}

.rtv-order-back-link {
  font-size: .88rem;
  font-weight: 600;
  color: var(--mut);
  text-decoration: none;
  transition: color .18s ease;
}

.rtv-order-back-link:hover {
  color: var(--pr);
}

/* Mobile */
@media (max-width: 640px) {
  .rtv-order-addresses {
    grid-template-columns: 1fr;
  }

  .rtv-order-items-table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .rtv-order-detail-header {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* ── Lost Password ── */

.rtv-lost-password {
  max-width: 480px;
}

.rtv-lost-password-header {
  margin-bottom: 24px;
}

.rtv-lost-password-eyebrow {
  display: block;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--mut);
  margin-bottom: 6px;
}

.rtv-lost-password-title {
  margin: 0 0 10px;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 800;
  color: var(--tx);
  line-height: 1.1;
  letter-spacing: -.02em;
}

.rtv-lost-password-desc {
  margin: 0;
  color: var(--mut);
  font-size: .92rem;
  line-height: 1.6;
  max-width: 42ch;
}

/* Formulário */
.rtv-lost-password-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.rtv-lp-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.rtv-lp-field label {
  font-size: .83rem;
  font-weight: 700;
  color: var(--mut);
}

.rtv-lp-field label .required {
  color: var(--pr);
  margin-left: 2px;
}

.rtv-lp-field input[type="text"] {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--soft);
  color: var(--tx);
  font-size: .95rem;
  box-sizing: border-box;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.rtv-lp-field input[type="text"]::placeholder {
  color: var(--mut);
  opacity: 1;
}

.rtv-lp-field input[type="text"]:focus {
  outline: none;
  border-color: rgba(249, 66, 58, .45);
  box-shadow: 0 0 0 3px rgba(249, 66, 58, .12);
  background: var(--card);
}

/* Acções */
.rtv-lp-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  padding-top: 4px;
}

.rtv-lp-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border: none;
  border-radius: 999px;
  background: var(--pr);
  color: #fff;
  font-size: .95rem;
  font-weight: 700;
  cursor: pointer;
  transition: filter .18s ease;
}

.rtv-lp-submit:hover {
  filter: brightness(.93);
}

.rtv-lp-back {
  font-size: .88rem;
  font-weight: 600;
  color: var(--mut);
  text-decoration: none;
  transition: color .18s ease;
}

.rtv-lp-back:hover {
  color: var(--pr);
}

/* Mobile */
@media (max-width: 640px) {
  .rtv-lost-password {
    max-width: 100%;
  }

  .rtv-lp-actions {
    flex-direction: column;
    align-items: flex-start;
  }

  .rtv-lp-submit {
    width: 100%;
  }
}

/* ── Login / Registo ── */

.rtv-login-page {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 18px;
}

.rtv-login-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
  max-width: 900px;
  margin: 0 auto;
}

.rtv-login-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 28px;
  box-shadow: 0 10px 30px rgba(0,0,0,.04);
}

.rtv-login-card-header {
  margin-bottom: 22px;
}

.rtv-login-eyebrow {
  display: block;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--mut);
  margin-bottom: 6px;
}

.rtv-login-title {
  margin: 0;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 800;
  color: var(--tx);
  line-height: 1.1;
  letter-spacing: -.02em;
}

/* Campos */
.rtv-form-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-bottom: 14px;
}

.rtv-form-field label {
  font-size: .83rem;
  font-weight: 700;
  color: var(--mut);
}

.rtv-form-field label .required {
  color: var(--pr);
  margin-left: 2px;
}

.rtv-form-field input[type="text"],
.rtv-form-field input[type="email"],
.rtv-form-field input[type="password"] {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--soft);
  color: var(--tx);
  font-size: .95rem;
  box-sizing: border-box;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.rtv-form-field input::placeholder {
  color: var(--mut);
  opacity: 1;
}

.rtv-form-field input:focus {
  outline: none;
  border-color: rgba(249, 66, 58, .45);
  box-shadow: 0 0 0 3px rgba(249, 66, 58, .12);
  background: var(--card);
}

/* Remember me */
.rtv-form-remember {
  margin: 4px 0 16px;
}

.rtv-checkbox-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .88rem;
  font-weight: 600;
  color: var(--mut);
  cursor: pointer;
}

.rtv-checkbox-label input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: var(--pr);
  flex-shrink: 0;
}

/* Acções */
.rtv-form-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.rtv-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border: none;
  border-radius: 999px;
  background: var(--pr);
  color: #fff;
  font-size: .95rem;
  font-weight: 700;
  cursor: pointer;
  transition: filter .18s ease;
}

.rtv-btn-primary:hover {
  filter: brightness(.93);
}

.rtv-lost-password-link {
  font-size: .88rem;
  font-weight: 600;
  color: var(--mut);
  text-decoration: none;
  transition: color .18s ease;
}

.rtv-lost-password-link:hover {
  color: var(--pr);
}

.rtv-register-note {
  font-size: .85rem;
  color: var(--mut);
  line-height: 1.6;
  margin: 0 0 16px;
}

/* Mobile */
@media (max-width: 768px) {
  .rtv-login-grid {
    grid-template-columns: 1fr;
    max-width: 500px;
  }
}

@media (max-width: 640px) {
  .rtv-login-card {
    border-radius: 18px;
    padding: 20px;
  }

  .rtv-form-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .rtv-btn-primary {
    width: 100%;
  }
}


/* ── 404 ── */

.rtv-404-main {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100dvh - 160px);
  padding: 48px 18px;
}

.rtv-404-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 28px;
  max-width: 520px;
  width: 100%;
}

/* Número grande decorativo */
.rtv-404-visual {
  font-size: clamp(5rem, 18vw, 10rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.05em;
  color: transparent;
  -webkit-text-stroke: 2px var(--line);
  user-select: none;
  pointer-events: none;
}

/* Conteúdo */
.rtv-404-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.rtv-404-title {
  margin: 0;
  font-size: clamp(1.6rem, 4vw, 2.4rem);
  font-weight: 800;
  color: var(--tx);
  line-height: 1.1;
  letter-spacing: -.02em;
}

.rtv-404-desc {
  margin: 0;
  font-size: .95rem;
  color: var(--mut);
  line-height: 1.6;
  max-width: 38ch;
}

/* Botões */
.rtv-404-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.rtv-404-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  background: var(--pr);
  color: #fff;
  font-weight: 700;
  font-size: .95rem;
  text-decoration: none;
  transition: filter .18s ease;
}

.rtv-404-btn-primary:hover {
  filter: brightness(.93);
  color: #fff;
}

.rtv-404-btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--soft);
  color: var(--tx);
  font-weight: 700;
  font-size: .95rem;
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease;
}

.rtv-404-btn-secondary:hover {
  background: var(--card);
  border-color: var(--mut);
  color: var(--tx);
}

/* Pesquisa */
.rtv-404-search {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: 100%;
}

.rtv-404-search-label {
  margin: 0;
  font-size: .83rem;
  font-weight: 700;
  color: var(--mut);
  text-transform: uppercase;
  letter-spacing: .07em;
}

.rtv-404-search .search-form {
  display: flex;
  gap: 8px;
  width: 100%;
  max-width: 420px;
}

.rtv-404-search .search-field {
  flex: 1;
  min-height: 46px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--soft);
  color: var(--tx);
  font-size: .92rem;
  transition: border-color .18s ease, box-shadow .18s ease;
}

.rtv-404-search .search-field:focus {
  outline: none;
  border-color: rgba(249, 66, 58, .45);
  box-shadow: 0 0 0 3px rgba(249, 66, 58, .12);
  background: var(--card);
}

.rtv-404-search .search-submit {
  min-height: 46px;
  padding: 0 18px;
  border-radius: 14px;
  border: none;
  background: var(--pr);
  color: #fff;
  font-weight: 700;
  font-size: .88rem;
  cursor: pointer;
  transition: filter .18s ease;
  white-space: nowrap;
}

.rtv-404-search .search-submit:hover {
  filter: brightness(.93);
}

/* Mobile */
@media (max-width: 480px) {
  .rtv-404-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .rtv-404-btn-primary,
  .rtv-404-btn-secondary {
    width: 100%;
  }
}

/* ── Página estática ── */

.rtv-page-main {
  padding-top: 40px;
  padding-bottom: 72px;
}

.rtv-page-wrap {
  max-width: 820px;
  margin: 0 auto;
  padding: 0 18px;
}

.rtv-page-header {
  margin-bottom: 32px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--line);
}

.rtv-page-title {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  color: var(--tx);
  line-height: 1.1;
  letter-spacing: -.02em;
}

/* Conteúdo do editor */
.rtv-page-content {
  color: var(--tx);
  font-size: 1rem;
  line-height: 1.75;
}

.rtv-page-content > * + * {
  margin-top: 1.25em;
}

.rtv-page-content h2 {
  font-size: clamp(1.4rem, 2.5vw, 1.9rem);
  font-weight: 800;
  color: var(--tx);
  line-height: 1.15;
  letter-spacing: -.02em;
  margin-top: 2em;
  margin-bottom: .5em;
}

.rtv-page-content h3 {
  font-size: clamp(1.1rem, 2vw, 1.4rem);
  font-weight: 700;
  color: var(--tx);
  line-height: 1.2;
  margin-top: 1.75em;
  margin-bottom: .4em;
}

.rtv-page-content p {
  color: var(--tx);
  max-width: 72ch;
}

.rtv-page-content a {
  color: var(--pr);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.rtv-page-content a:hover {
  text-decoration: none;
}

.rtv-page-content ul,
.rtv-page-content ol {
  padding-left: 1.5em;
  max-width: 72ch;
}

.rtv-page-content ul { list-style: disc; }
.rtv-page-content ol { list-style: decimal; }

.rtv-page-content li + li {
  margin-top: .4em;
}

.rtv-page-content strong {
  font-weight: 700;
  color: var(--tx);
}

.rtv-page-content em {
  font-style: italic;
}

.rtv-page-content blockquote {
  border-left: 3px solid var(--pr);
  padding: 14px 20px;
  margin: 1.5em 0;
  background: var(--soft);
  border-radius: 0 14px 14px 0;
  color: var(--mut);
  font-style: italic;
}

.rtv-page-content blockquote p {
  margin: 0;
  color: var(--mut);
}

.rtv-page-content hr {
  border: none;
  border-top: 1px solid var(--line);
  margin: 2em 0;
}

.rtv-page-content img {
  border-radius: 16px;
  max-width: 100%;
  height: auto;
}

.rtv-page-content table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  font-size: .92rem;
}

.rtv-page-content table th {
  padding: 11px 16px;
  background: var(--soft);
  border-bottom: 1px solid var(--line);
  font-weight: 700;
  text-align: left;
  color: var(--mut);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.rtv-page-content table td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
  color: var(--tx);
  vertical-align: top;
}

.rtv-page-content table tbody tr:last-child td {
  border-bottom: 0;
}

/* Blocos Gutenberg básicos */
.rtv-page-content .wp-block-image img {
  border-radius: 16px;
}

.rtv-page-content .wp-block-quote {
  border-left: 3px solid var(--pr);
  padding: 14px 20px;
  background: var(--soft);
  border-radius: 0 14px 14px 0;
}

.rtv-page-content .wp-block-separator {
  border: none;
  border-top: 1px solid var(--line);
}

/* Mobile */
@media (max-width: 640px) {
  .rtv-page-main {
    padding-top: 28px;
    padding-bottom: 52px;
  }

  .rtv-page-content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* ── Search ── */

.rtv-search-main {
  padding-top: 36px;
  padding-bottom: 72px;
}

.rtv-search-wrap {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 18px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* Cabeçalho */
.rtv-search-header {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--line);
}

.rtv-search-eyebrow {
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--mut);
}

.rtv-search-title {
  margin: 0;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 800;
  color: var(--tx);
  line-height: 1.1;
  letter-spacing: -.02em;
}

.rtv-search-count {
  margin: 0;
  font-size: .88rem;
  color: var(--mut);
}

.rtv-search-count strong {
  color: var(--tx);
  font-weight: 700;
}

/* Grelha mista */
.rtv-search-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr));
  gap: 18px;
}

/* Card produto */
.rtv-search-product-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: 20px;
  overflow: hidden;
  background: var(--card);
  text-decoration: none;
  transition: box-shadow .18s ease, transform .18s ease;
}

.rtv-search-product-card:hover {
  box-shadow: 0 12px 32px rgba(0,0,0,.08);
  transform: translateY(-2px);
}

.rtv-search-product-thumb {
  aspect-ratio: 1;
  background: #ffffff;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rtv-search-product-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 12px;
}

.rtv-search-product-nothumb {
  width: 100%;
  height: 100%;
  background: var(--soft);
}

.rtv-search-product-info {
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-top: 1px solid var(--line);
}

.rtv-search-product-name {
  margin: 0;
  font-size: .9rem;
  font-weight: 700;
  color: var(--tx);
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.rtv-search-product-price {
  font-size: .92rem;
  font-weight: 700;
  color: var(--pr);
}

/* Card post/página */
.rtv-search-post-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: var(--card);
  text-decoration: none;
  transition: box-shadow .18s ease, transform .18s ease;
}

.rtv-search-post-card:hover {
  box-shadow: 0 12px 32px rgba(0,0,0,.08);
  transform: translateY(-2px);
}

.rtv-search-post-type {
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--mut);
}

.rtv-search-post-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--tx);
  line-height: 1.3;
}

.rtv-search-post-excerpt {
  margin: 0;
  font-size: .85rem;
  color: var(--mut);
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Estado vazio */
.rtv-search-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 14px;
  padding: 64px 18px;
}

.rtv-search-empty-icon {
  color: var(--mut);
  opacity: .4;
}

.rtv-search-empty-title {
  margin: 0;
  font-size: clamp(1.2rem, 2.5vw, 1.6rem);
  font-weight: 800;
  color: var(--tx);
  letter-spacing: -.02em;
}

.rtv-search-empty-desc {
  margin: 0;
  font-size: .92rem;
  color: var(--mut);
  max-width: 36ch;
  line-height: 1.6;
}

.rtv-search-empty-btn {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  background: var(--pr);
  color: #fff;
  font-weight: 700;
  font-size: .95rem;
  text-decoration: none;
  margin-top: 6px;
  transition: filter .18s ease;
}

.rtv-search-empty-btn:hover {
  filter: brightness(.93);
  color: #fff;
}

/* Paginação */
.rtv-search-pagination {
  display: flex;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
}

.rtv-search-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--soft);
  color: var(--tx);
  font-size: .88rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease;
}

.rtv-search-pagination .page-numbers:hover {
  background: var(--card);
  border-color: var(--mut);
}

.rtv-search-pagination .page-numbers.current {
  background: var(--pr);
  border-color: var(--pr);
  color: #fff;
}

/* Mobile */
@media (max-width: 640px) {
  .rtv-search-main {
    padding-top: 24px;
    padding-bottom: 52px;
  }

  .rtv-search-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
}


/* ── Single Post ── */

.rtv-single-main {
  padding-top: 40px;
  padding-bottom: 72px;
}

.rtv-single-wrap {
  max-width: 780px;
  margin: 0 auto;
  padding: 0 18px;
}

.rtv-single-header {
  margin-bottom: 28px;
}

.rtv-single-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.rtv-single-cat {
  display: inline-flex;
  align-items: center;
  padding: 3px 12px;
  border-radius: 999px;
  background: rgba(249,66,58,.1);
  border: 1px solid rgba(249,66,58,.2);
  color: var(--pr);
  font-size: .74rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  text-decoration: none;
}

.rtv-single-cat:hover {
  background: rgba(249,66,58,.18);
}

.rtv-single-date {
  font-size: .82rem;
  color: var(--mut);
  font-weight: 600;
}

.rtv-single-title {
  margin: 0 0 14px;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 800;
  color: var(--tx);
  line-height: 1.1;
  letter-spacing: -.02em;
}

.rtv-single-excerpt {
  margin: 0;
  font-size: 1.05rem;
  color: var(--mut);
  line-height: 1.65;
  max-width: 65ch;
}

.rtv-single-featured {
  margin-bottom: 36px;
  border-radius: 20px;
  overflow: hidden;
}

.rtv-single-featured-img {
  width: 100%;
  height: auto;
  display: block;
}

.rtv-single-content {
  margin-bottom: 40px;
}

.rtv-single-footer {
  padding-top: 24px;
  border-top: 1px solid var(--line);
}

.rtv-single-back {
  font-size: .88rem;
  font-weight: 600;
  color: var(--mut);
  text-decoration: none;
  transition: color .18s ease;
}

.rtv-single-back:hover {
  color: var(--pr);
}

/* ── Blog Archive ── */

.rtv-blog-main {
  padding-top: 36px;
  padding-bottom: 72px;
}

.rtv-blog-wrap {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 18px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.rtv-blog-header {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--line);
}

.rtv-blog-eyebrow {
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--mut);
}

.rtv-blog-title {
  margin: 0;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 800;
  color: var(--tx);
  line-height: 1.1;
  letter-spacing: -.02em;
}

.rtv-blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr));
  gap: 20px;
}

.rtv-blog-card-link {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: 20px;
  overflow: hidden;
  background: var(--card);
  text-decoration: none;
  height: 100%;
  transition: box-shadow .18s ease, transform .18s ease;
}

.rtv-blog-card-link:hover {
  box-shadow: 0 12px 32px rgba(0,0,0,.08);
  transform: translateY(-2px);
}

.rtv-blog-card-thumb {
  aspect-ratio: 16/9;
  overflow: hidden;
  background: var(--soft);
}

.rtv-blog-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease;
}

.rtv-blog-card-link:hover .rtv-blog-card-thumb img {
  transform: scale(1.03);
}

.rtv-blog-card-body {
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  border-top: 1px solid var(--line);
}

.rtv-blog-card-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.rtv-blog-card-cat {
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--pr);
}

.rtv-blog-card-date {
  font-size: .78rem;
  color: var(--mut);
}

.rtv-blog-card-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--tx);
  line-height: 1.3;
}

.rtv-blog-card-excerpt {
  margin: 0;
  font-size: .85rem;
  color: var(--mut);
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.rtv-blog-pagination {
  display: flex;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
}

.rtv-blog-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--soft);
  color: var(--tx);
  font-size: .88rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease;
}

.rtv-blog-pagination .page-numbers:hover {
  background: var(--card);
  border-color: var(--mut);
}

.rtv-blog-pagination .page-numbers.current {
  background: var(--pr);
  border-color: var(--pr);
  color: #fff;
}

.rtv-blog-empty {
  color: var(--mut);
  text-align: center;
  padding: 48px 0;
}

/* Mobile */
@media (max-width: 640px) {
  .rtv-single-main,
  .rtv-blog-main {
    padding-top: 24px;
    padding-bottom: 52px;
  }

  .rtv-blog-grid {
    grid-template-columns: 1fr;
  }
}

/* =============================================================
   BLOG — home.php / arquivo de posts
   Ritmo TV Base Clean — adicionar ao style.css
   ============================================================= */

/* ── Wrap geral ─────────────────────────────────────────────── */
.rtv-blog-main { padding-bottom: 64px; }
.rtv-blog-wrap { padding-top: 48px; }

/* ── Header ─────────────────────────────────────────────────── */
.rtv-blog-header { margin-bottom: 36px; }
.rtv-blog-eyebrow {
    display: inline-block;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--pr);
    margin-bottom: 8px;
}
.rtv-blog-title {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    letter-spacing: -.03em;
    line-height: 1.05;
    margin: 0 0 10px;
}
.rtv-blog-subtitle {
    font-size: 1rem;
    color: var(--mut);
    margin: 0;
}

/* ── Filtros por categoria ───────────────────────────────────── */
.rtv-blog-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 36px;
}
.rtv-filter-pill {
    display: inline-flex;
    align-items: center;
    height: 36px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: var(--card);
    color: var(--mut);
    font-size: .86rem;
    font-weight: 600;
    text-decoration: none;
    transition: .18s ease;
    white-space: nowrap;
}
.rtv-filter-pill:hover {
    border-color: rgba(249,66,58,.4);
    color: var(--pr);
}
.rtv-filter-pill.is-active {
    background: var(--pr);
    border-color: var(--pr);
    color: #fff;
}

/* ── Cards — base comum ──────────────────────────────────────── */
.rtv-blog-card {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow .2s ease, transform .2s ease;
}
.rtv-blog-card:hover {
    box-shadow: 0 12px 32px rgba(0,0,0,.08);
    transform: translateY(-2px);
}
.rtv-blog-card-link {
    display: block;
    overflow: hidden;
}
.rtv-blog-card-thumb {
    overflow: hidden;
    background: var(--soft);
}
.rtv-blog-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}
.rtv-blog-card:hover .rtv-blog-card-thumb img {
    transform: scale(1.04);
}
.rtv-blog-card-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px;
    flex: 1;
}
.rtv-blog-card-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.rtv-blog-card-cat {
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--pr);
    text-decoration: none;
    background: rgba(249,66,58,.08);
    padding: 3px 10px;
    border-radius: 999px;
}
.rtv-blog-card-cat:hover { background: rgba(249,66,58,.16); }
.rtv-blog-card-date {
    font-size: .82rem;
    color: var(--mut);
}
.rtv-blog-card-title {
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
}
.rtv-blog-card-title a {
    text-decoration: none;
    color: var(--tx);
}
.rtv-blog-card-title a:hover { color: var(--pr); }
.rtv-blog-card-excerpt {
    font-size: .9rem;
    color: var(--mut);
    line-height: 1.6;
    margin: 0;
}

/* ── Featured — 2 colunas ───────────────────────────────────── */
.rtv-blog-featured {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 20px;
}
.rtv-blog-card--featured .rtv-blog-card-thumb {
    aspect-ratio: 16 / 9;
}
.rtv-blog-card--featured .rtv-blog-card-body {
    padding: 24px;
    gap: 12px;
}
.rtv-blog-card--featured .rtv-blog-card-title {
    font-size: clamp(1.1rem, 1.6vw, 1.35rem);
}
.rtv-blog-card--featured .rtv-blog-card-excerpt {
    font-size: .94rem;
}
.rtv-blog-card-cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 4px;
    font-size: .88rem;
    font-weight: 700;
    color: var(--pr);
    text-decoration: none;
}
.rtv-blog-card-cta:hover { gap: 8px; }

/* ── Standard — 3 colunas ───────────────────────────────────── */
.rtv-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}
.rtv-blog-card--compact .rtv-blog-card-thumb {
    aspect-ratio: 3 / 2;
}
.rtv-blog-card--compact .rtv-blog-card-title {
    font-size: .98rem;
}

/* ── Paginação ───────────────────────────────────────────────── */
.rtv-blog-pagination {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}
.rtv-blog-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: var(--card);
    color: var(--tx);
    text-decoration: none;
    font-size: .88rem;
    font-weight: 600;
    transition: .18s ease;
}
.rtv-blog-pagination .page-numbers:hover {
    border-color: rgba(249,66,58,.4);
    color: var(--pr);
}
.rtv-blog-pagination .page-numbers.current {
    background: var(--pr);
    border-color: var(--pr);
    color: #fff;
}
.rtv-blog-pagination .page-numbers.dots {
    border: none;
    background: none;
    pointer-events: none;
}

/* ── Estado vazio ────────────────────────────────────────────── */
.rtv-blog-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 80px 24px;
    gap: 14px;
}
.rtv-blog-empty-icon { font-size: 3rem; }
.rtv-blog-empty h2 { font-size: 1.4rem; margin: 0; }
.rtv-blog-empty p { color: var(--mut); margin: 0; max-width: 36ch; }
.rtv-blog-empty-cta {
    display: inline-flex;
    align-items: center;
    height: 44px;
    padding: 0 22px;
    border-radius: 999px;
    background: var(--pr);
    color: #fff;
    font-weight: 700;
    font-size: .9rem;
    text-decoration: none;
    margin-top: 8px;
}
.rtv-blog-empty-cta:hover { filter: brightness(.93); }

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 1024px) {
    .rtv-blog-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
    .rtv-blog-featured { grid-template-columns: 1fr; }
    .rtv-blog-grid     { grid-template-columns: 1fr; }
    .rtv-blog-wrap     { padding-top: 32px; }
}

/* =============================================================
   SINGLE POST — single.php
   Ritmo TV Base Clean — adicionar ao style.css
   ============================================================= */

/* ── Variáveis locais ────────────────────────────────────────── */
:root {
    --article-max:    740px;   /* largura máxima do corpo de texto  */
    --article-wide:   960px;   /* largura máxima do header + hero   */
}

/* ── Main ────────────────────────────────────────────────────── */
.rtv-single-main {
    padding-bottom: 80px;
}

/* ── Breadcrumb ──────────────────────────────────────────────── */
.rtv-breadcrumb {
    padding-top: 20px;
    padding-bottom: 20px;
}
.rtv-breadcrumb-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: .82rem;
    color: var(--mut);
}
.rtv-breadcrumb-list a {
    color: var(--mut);
    text-decoration: none;
}
.rtv-breadcrumb-list a:hover { color: var(--pr); }
.rtv-breadcrumb-sep { color: var(--mut); opacity: .5; }
.rtv-breadcrumb-current {
    color: var(--tx);
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 24ch;
}

/* ── Hero image ──────────────────────────────────────────────── */
.rtv-article-hero {
    margin-bottom: 36px;
}
.rtv-article-hero-inner {
    position: relative;
    max-width: var(--article-wide);
    margin: 0 auto;
    border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 16 / 7;
    background: var(--soft);
}
.rtv-article-hero-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.rtv-article-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        transparent 50%,
        rgba(0, 0, 0, .25) 100%
    );
    pointer-events: none;
}

/* ── Article Header ──────────────────────────────────────────── */
.rtv-article-header {
    margin-bottom: 40px;
}
.rtv-article-header-inner {
    max-width: var(--article-max);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Categoria pill */
.rtv-article-cat {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    height: 28px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(249, 66, 58, .1);
    color: var(--pr);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .18s ease;
}
.rtv-article-cat:hover { background: rgba(249, 66, 58, .18); }

/* Título */
.rtv-article-title {
    font-size: clamp(1.75rem, 3.5vw, 2.8rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.025em;
    margin: 0;
    color: var(--tx);
}

/* Meta bar */
.rtv-article-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    font-size: .85rem;
    color: var(--mut);
}
.rtv-article-meta-author {
    display: flex;
    align-items: center;
    gap: 8px;
}
.rtv-article-avatar {
    width: 28px !important;
    height: 28px !important;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}
.rtv-article-meta-name { font-weight: 600; color: var(--tx); }
.rtv-article-meta-divider { opacity: .35; }
.rtv-article-meta-date,
.rtv-article-meta-reading { white-space: nowrap; }

/* ── Article body wrapper ────────────────────────────────────── */
.rtv-article-body {
    margin-bottom: 48px;
}
.rtv-article-content {
    max-width: var(--article-max);
    margin: 0 auto;
}

/* ── Tipografia do conteúdo (Elementor / Gutenberg) ──────────── */
.rtv-article-content,
.entry-content {
    font-size: 1.05rem;
    line-height: 1.8;
    color: var(--tx);
}

/* Parágrafos */
.rtv-article-content p,
.entry-content p {
    margin: 0 0 1.4em;
    max-width: 68ch;
}

/* Headings */
.rtv-article-content h2,
.entry-content h2 {
    font-size: clamp(1.35rem, 2.2vw, 1.7rem);
    font-weight: 800;
    letter-spacing: -.02em;
    line-height: 1.2;
    margin: 2.2em 0 .6em;
    color: var(--tx);
}
.rtv-article-content h3,
.entry-content h3 {
    font-size: clamp(1.1rem, 1.6vw, 1.3rem);
    font-weight: 700;
    letter-spacing: -.015em;
    line-height: 1.25;
    margin: 1.8em 0 .5em;
    color: var(--tx);
}
.rtv-article-content h4,
.entry-content h4 {
    font-size: 1rem;
    font-weight: 700;
    margin: 1.4em 0 .4em;
    color: var(--tx);
}

/* Listas */
.rtv-article-content ul,
.entry-content ul,
.rtv-article-content ol,
.entry-content ol {
    margin: 0 0 1.4em 1.4em;
    padding: 0;
}
.rtv-article-content li,
.entry-content li {
    margin-bottom: .45em;
    max-width: 65ch;
}

/* Blockquote */
.rtv-article-content blockquote,
.entry-content blockquote {
    margin: 2em 0;
    padding: 20px 24px;
    border-left: 3px solid var(--pr);
    background: var(--soft);
    border-radius: 0 14px 14px 0;
    font-size: 1.05rem;
    font-style: italic;
    color: var(--mut);
    line-height: 1.7;
}
.rtv-article-content blockquote p,
.entry-content blockquote p {
    margin: 0;
}

/* Imagens dentro do conteúdo */
.rtv-article-content img,
.entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    display: block;
    margin: 1.8em auto;
}

/* Links inline */
.rtv-article-content a,
.entry-content a {
    color: var(--pr);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    transition: opacity .18s ease;
}
.rtv-article-content a:hover,
.entry-content a:hover { opacity: .75; }

/* Código inline */
.rtv-article-content code,
.entry-content code {
    font-family: 'Fira Mono', 'Courier New', monospace;
    font-size: .88em;
    background: var(--soft);
    border: 1px solid var(--line);
    border-radius: 5px;
    padding: 2px 6px;
    color: var(--pr);
}

/* Bloco de código */
.rtv-article-content pre,
.entry-content pre {
    background: var(--soft);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 20px;
    overflow-x: auto;
    font-size: .88rem;
    line-height: 1.6;
    margin: 1.6em 0;
}
.rtv-article-content pre code,
.entry-content pre code {
    background: none;
    border: none;
    padding: 0;
    color: var(--tx);
}

/* Tabelas */
.rtv-article-content table,
.entry-content table {
    width: 100%;
    border-collapse: collapse;
    font-size: .92rem;
    margin: 1.6em 0;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--line);
}
.rtv-article-content th,
.entry-content th {
    background: var(--soft);
    font-weight: 700;
    text-align: left;
    padding: 12px 16px;
    border-bottom: 1px solid var(--line);
}
.rtv-article-content td,
.entry-content td {
    padding: 11px 16px;
    border-bottom: 1px solid var(--line);
}
.rtv-article-content tr:last-child td,
.entry-content tr:last-child td {
    border-bottom: none;
}

/* Separador */
.rtv-article-content hr,
.entry-content hr {
    border: none;
    border-top: 1px solid var(--line);
    margin: 2.4em 0;
}

/* ── Tags ────────────────────────────────────────────────────── */
.rtv-article-tags {
    margin-bottom: 48px;
}
.rtv-article-tags-inner {
    max-width: var(--article-max);
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding-top: 24px;
    border-top: 1px solid var(--line);
}
.rtv-article-tags-label {
    font-size: .82rem;
    font-weight: 700;
    color: var(--mut);
    text-transform: uppercase;
    letter-spacing: .06em;
}
.rtv-article-tag {
    display: inline-flex;
    align-items: center;
    height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: var(--card);
    color: var(--mut);
    font-size: .8rem;
    font-weight: 600;
    text-decoration: none;
    transition: .18s ease;
}
.rtv-article-tag:hover {
    border-color: rgba(249, 66, 58, .4);
    color: var(--pr);
}

/* ── Navegação Prev/Next ─────────────────────────────────────── */
.rtv-article-nav {
    margin-bottom: 48px;
}
.rtv-article-nav-inner {
    max-width: var(--article-max);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.rtv-article-nav-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 18px 20px;
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 16px;
    text-decoration: none;
    color: var(--tx);
    transition: box-shadow .2s ease, transform .2s ease;
}
.rtv-article-nav-item:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,.07);
    transform: translateY(-2px);
}
.rtv-article-nav-item--empty {
    pointer-events: none;
    background: none;
    border: none;
}
.rtv-article-nav-item--next {
    text-align: right;
    align-items: flex-end;
}
.rtv-article-nav-label {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--pr);
}
.rtv-article-nav-title {
    font-size: .92rem;
    font-weight: 600;
    color: var(--tx);
    line-height: 1.35;
    max-width: 30ch;
}

/* ── Bloco do Autor ──────────────────────────────────────────── */
.rtv-article-author {
    margin-bottom: 40px;
}
.rtv-article-author-inner {
    max-width: var(--article-max);
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 24px;
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 20px;
}
.rtv-article-author-avatar {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}
.rtv-article-author-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.rtv-article-author-label {
    font-size: .76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--mut);
}
.rtv-article-author-name {
    font-size: 1rem;
    font-weight: 800;
    color: var(--tx);
}
.rtv-article-author-bio {
    font-size: .88rem;
    color: var(--mut);
    line-height: 1.6;
    margin: 4px 0 0;
    max-width: 55ch;
}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 680px) {
    .rtv-article-hero-inner  { aspect-ratio: 4 / 3; border-radius: 14px; }
    .rtv-article-nav-inner   { grid-template-columns: 1fr; }
    .rtv-article-nav-item--next { text-align: left; align-items: flex-start; }
    .rtv-article-author-inner { flex-direction: column; align-items: center; text-align: center; }
    .rtv-article-author-bio  { max-width: 100%; }
}


/* ── Fix: duplo contorno nos produtos relacionados / upsells ── */
.rt-related ul.products li.product,
.woocommerce .related ul.products li.product,
.woocommerce .upsells ul.products li.product,
.woocommerce-page .related ul.products li.product,
.woocommerce-page .upsells ul.products li.product {
    outline: none !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .03) !important;
}

/* Garante que o link interno não cria borda/outline próprio */
.rt-related ul.products li.product > a:first-child,
.woocommerce .related ul.products li.product > a:first-child,
.woocommerce .upsells ul.products li.product > a:first-child {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* ===== Footer fallback ===== */
.rt-footer{
  margin-top:40px;
  border-top:1px solid var(--line);
  background:var(--card);
  color:var(--tx);
}

.rt-footer-container{
  max-width:1200px;
  margin:0 auto;
  padding:0 18px;
}

.rt-footer-newsletter{
  border-bottom:1px solid var(--line);
  background:color-mix(in srgb,var(--card) 70%,var(--soft));
}

.rt-footer-newsletter .rt-footer-container{
  padding-top:28px;
  padding-bottom:28px;
}

.rt-footer-newsletter__title{
  margin:0 0 14px;
  font-size:1rem;
  font-weight:700;
  color:var(--tx);
}

.rt-footer-newsletter__form{
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  gap:12px;
  margin-bottom:12px;
}

.rt-footer-newsletter__form input[type="email"]{
  width:100%;
  height:52px;
  padding:0 16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--bg);
  color:var(--tx);
  outline:none;
}

.rt-footer-newsletter__form input[type="email"]:focus{
  border-color:rgba(249,66,58,.45);
  box-shadow:0 0 0 3px rgba(249,66,58,.12);
}

.rt-footer-newsletter__form button{
  height:52px;
  border:none;
  border-radius:14px;
  background:var(--pr);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}

.rt-footer-newsletter__form button:hover{
  filter:brightness(.97);
}

.rt-footer-newsletter__consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:.92rem;
  color:var(--mut);
  line-height:1.5;
}

.rt-footer-newsletter__consent input{
  margin-top:3px;
  accent-color:var(--pr);
}

.rt-footer-newsletter__consent a{
  color:var(--tx);
  text-decoration:underline;
  text-underline-offset:2px;
}

.rt-footer-main .rt-footer-container{
  padding-top:34px;
  padding-bottom:34px;
}

.rt-footer-grid{
  display:grid;
  grid-template-columns:minmax(260px,1.2fr) minmax(180px,.7fr) minmax(220px,1fr);
  gap:32px;
  align-items:start;
}

.rt-footer-col--brand{
  max-width:320px;
}

.rt-footer-logo{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  margin-bottom:18px;
}

.rt-footer-logo img{
  display:block;
  width:160px;
  max-width:100%;
  height:auto;
}

.rt-footer-address{
  margin:0;
  font-style:normal;
  color:var(--mut);
  line-height:1.8;
}

.rt-footer-col__title{
  margin:6px 0 14px;
  font-size:1.05rem;
  line-height:1.2;
  color:var(--tx);
}

.rt-footer-col__links{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}

.rt-footer-col__links a{
  color:var(--mut);
  text-decoration:none;
  transition:color .18s ease;
}

.rt-footer-col__links a:hover{
  color:var(--pr);
}

.rt-footer-bottom{
  border-top:1px solid var(--line);
  background:color-mix(in srgb,var(--card) 82%,var(--soft));
}

.rt-footer-bottom .rt-footer-container{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-top:16px;
  padding-bottom:16px;
}

.rt-footer-bottom__copy{
  margin:0;
  color:var(--mut);
  font-size:.94rem;
}

.rt-footer-bottom__payments{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.rt-footer-bottom__payments img{
  display:block;
  height:38px;
  width:auto;
  max-width:105px;
  object-fit:contain;
  border-radius:10px;
  background:#fff;
  border:1px solid rgba(0,0,0,.05);
}

html[data-theme="dark"] .rt-footer-bottom__payments img{
  border-color:rgba(255,255,255,.08);
}

@media (prefers-color-scheme: dark){
  html:not([data-theme="light"]) .rt-footer-bottom__payments img{
    border-color:rgba(255,255,255,.08);
  }
}

@media (max-width: 980px){
  .rt-footer-grid{
    grid-template-columns:1fr 1fr;
  }

  .rt-footer-col--brand{
    grid-column:1 / -1;
    max-width:none;
  }

  .rt-footer-bottom .rt-footer-container{
    flex-direction:column;
    align-items:flex-start;
  }

  .rt-footer-bottom__payments{
    justify-content:flex-start;
  }
}

@media (max-width: 640px){
  .rt-footer-newsletter .rt-footer-container{
    padding-top:22px;
    padding-bottom:22px;
  }

  .rt-footer-newsletter__form{
    grid-template-columns:1fr;
  }

  .rt-footer-grid{
    grid-template-columns:1fr;
    gap:24px;
  }

  .rt-footer-main .rt-footer-container{
    padding-top:26px;
    padding-bottom:26px;
  }

  .rt-footer-bottom__payments img{
    height:34px;
    max-width:92px;
  }
}
.rt-footer-logo{
  position: relative;
  display: inline-block;
  margin-bottom: 18px;
  line-height: 0;
}

.rt-footer-logo__img{
  width: 160px;
  max-width: 100%;
  height: auto;
}

.rt-footer-logo__img--light{
  display: block !important;
}

.rt-footer-logo__img--dark{
  display: none !important;
}

html[data-theme="dark"] .rt-footer-logo__img--light{
  display: none !important;
}

html[data-theme="dark"] .rt-footer-logo__img--dark{
  display: block !important;
}

@media (prefers-color-scheme: dark){
  html:not([data-theme="light"]) .rt-footer-logo__img--light{
    display: none !important;
  }

  html:not([data-theme="light"]) .rt-footer-logo__img--dark{
    display: block !important;
  }
}
.rt-footer-newsletter__msg{
  margin:12px 0 0;
  font-size:.92rem;
  line-height:1.4;
}

.rt-footer-newsletter__msg.is-success{
  color:#1f8f3e;
}

.rt-footer-newsletter__msg.is-error{
  color:var(--pr);
}

.rt-footer-col--brand{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:14px;
}

.rt-footer-socials{
	display:flex;
	align-items:center;
	gap:10px;
	flex-wrap:wrap;
}

.rt-footer-socials .rt-social{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:42px;
	height:42px;
	border:1px solid var(--line);
	border-radius:999px;
	background:var(--soft);
	text-decoration:none;
	transition:
		background .18s ease,
		border-color .18s ease,
		transform .18s ease,
		box-shadow .18s ease;
}

.rt-footer-socials .rt-social img{
	display:block;
	width:18px;
	height:18px;
}

.rt-footer-socials .rt-social:hover{
	transform:translateY(-1px);
	box-shadow:0 8px 20px rgba(0,0,0,.08);
}

.rt-footer-socials .rt-social--facebook:hover{
	background:#1877F2;
	border-color:#1877F2;
}

.rt-footer-socials .rt-social--instagram:hover{
	background:#E4405F;
	border-color:#E4405F;
}

.rt-footer-socials .rt-social--threads:hover{
	background:#000;
	border-color:#000;
}

.rt-footer-socials .rt-social--tiktok:hover{
	background:#000;
	border-color:#000;
}

.rt-footer-socials .rt-social img{
	display:block;
	width:18px;
	height:18px;
	transition:filter .18s ease, opacity .18s ease;
}

.rt-footer-socials .rt-social:hover img{
	filter:brightness(0) invert(1);
}

html[data-theme="dark"] .rt-footer-socials .rt-social:not(:hover) img{
	filter:brightness(0) invert(1);
}

@media (prefers-color-scheme: dark){
	html:not([data-theme="light"]) .rt-footer-socials .rt-social:not(:hover) img{
		filter:brightness(0) invert(1);
	}
}

html[data-theme="dark"] .rt-footer-socials .rt-social--threads:hover img,
html[data-theme="dark"] .rt-footer-socials .rt-social--tiktok:hover img{
	filter:brightness(0) invert(0);
}

@media (prefers-color-scheme: dark){
	html:not([data-theme="light"]) .rt-footer-socials .rt-social--threads:hover img,
	html:not([data-theme="light"]) .rt-footer-socials .rt-social--tiktok:hover img{
		filter:brightness(0) invert(0);
	}
}

html[data-theme="dark"] .rt-footer-socials .rt-social--threads:hover,
html[data-theme="dark"] .rt-footer-socials .rt-social--tiktok:hover{
	background:#fff;
	border-color:#fff;
}

.rt-footer-address{
	font-style:normal;
	color:var(--mut);
	line-height:1.7;
	margin:0;
}

@media (max-width:767px){
	.rt-footer-col--brand{
		gap:12px;
	}
}

/* ===== HEADER - LOGO RITMO TV ===== */

.rt-site-logo{
  position:relative;
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  line-height:0;
  text-decoration:none;
}

.rt-site-logo__img{
  display:none !important;
  max-width:100%;
  height:auto;
}

/* desktop light por defeito */
.rt-site-logo__img--desktop-light{
  display:block !important;
  width:160px;
}

.rt-site-logo__img--desktop-dark{
  width:160px;
}

.rt-site-logo__img--mobile-light,
.rt-site-logo__img--mobile-dark{
  width:42px;
}

/* desktop dark */
html[data-theme="dark"] .rt-site-logo__img--desktop-light{
  display:none !important;
}

html[data-theme="dark"] .rt-site-logo__img--desktop-dark{
  display:block !important;
}

html[data-theme="dark"] .rt-site-logo__img--mobile-light,
html[data-theme="dark"] .rt-site-logo__img--mobile-dark{
  display:none !important;
}

/* fallback sistema dark em desktop */
@media (prefers-color-scheme: dark){
  html:not([data-theme="light"]) .rt-site-logo__img--desktop-light{
    display:none !important;
  }

  html:not([data-theme="light"]) .rt-site-logo__img--desktop-dark{
    display:block !important;
  }

  html:not([data-theme="light"]) .rt-site-logo__img--mobile-light,
  html:not([data-theme="light"]) .rt-site-logo__img--mobile-dark{
    display:none !important;
  }
}

/* mobile */
@media (max-width:767px){
  .rt-site-logo__img--desktop-light,
  .rt-site-logo__img--desktop-dark{
    display:none !important;
  }

  .rt-site-logo__img--mobile-light{
    display:block !important;
  }

  .rt-site-logo__img--mobile-dark{
    display:none !important;
  }

  html[data-theme="dark"] .rt-site-logo__img--mobile-light{
    display:none !important;
  }

  html[data-theme="dark"] .rt-site-logo__img--mobile-dark{
    display:block !important;
  }

  html[data-theme="dark"] .rt-site-logo__img--desktop-light,
  html[data-theme="dark"] .rt-site-logo__img--desktop-dark{
    display:none !important;
  }
}

/* fallback sistema dark em mobile */
@media (max-width:767px) and (prefers-color-scheme: dark){
  html:not([data-theme="light"]) .rt-site-logo__img--desktop-light,
  html:not([data-theme="light"]) .rt-site-logo__img--desktop-dark,
  html:not([data-theme="light"]) .rt-site-logo__img--mobile-light{
    display:none !important;
  }

  html:not([data-theme="light"]) .rt-site-logo__img--mobile-dark{
    display:block !important;
  }
}