/*
Theme Name: Renevis
Theme URI: https://renevis.pl
Author: Renevis
Description: Ciemny motyw blokowy dla agencji AI Renevis. Układ i paleta wzorowane na otwartoźródłowym szablonie Paddle Billing Starter (Apache-2.0).
Version: 2.0.0
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: renevis
Tags: full-site-editing, block-theme, e-commerce, one-column, dark
*/

/* ==========================================================================
   1. TOKENY
   ========================================================================== */
:root{
  --rv-bg:#0F1515;
  --rv-surface:#141B1B;
  --rv-ink:#F4F4F5;
  --rv-ink-soft:#797C7C;
  --rv-line:#272F30;
  --rv-line-soft:rgba(255,255,255,.08);
  --rv-teal:#3ECFCF;
  --rv-teal-deep:#1D9BB4;
  --rv-radius:16px;
  --rv-radius-sm:8px;
  --rv-radius-btn:14px;
  --rv-gutter:clamp(20px,4vw,32px);
}

html{scroll-behavior:smooth}
body{
  background:var(--rv-bg);color:var(--rv-ink);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;position:relative;
}

/* ==========================================================================
   2. WARSTWY TŁA — siatka, poświata, ziarno
   ========================================================================== */
body::before,
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0}

/* siatka */
body::before{
  background-image:
    linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(120% 80% at 50% 0%,#000 20%,transparent 75%);
  -webkit-mask-image:radial-gradient(120% 80% at 50% 0%,#000 20%,transparent 75%);
}

/* poświata nad hero */
body::after{
  background:
    radial-gradient(60% 45% at 50% 0%,rgba(62,207,207,.16) 0%,rgba(62,207,207,0) 70%),
    radial-gradient(40% 30% at 85% 12%,rgba(29,155,180,.10) 0%,rgba(29,155,180,0) 70%);
}

.wp-site-blocks{position:relative;z-index:1}

/* ==========================================================================
   3. GUTTER
   ========================================================================== */
.rv-header > .wp-block-group,
.wp-block-group.rv-footer,
.wp-block-group.rv-page-head,
main > .wp-block-group,
main > .wp-block-columns{padding-inline:var(--rv-gutter)}

.wp-block-group.has-global-padding > .alignfull{margin-left:0;margin-right:0}

/* ==========================================================================
   4. NAGŁÓWEK
   ========================================================================== */
.rv-header{position:sticky;top:0;z-index:100;border-bottom:1px solid transparent;transition:border-color .3s}
.rv-header::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:rgba(15,21,21,.72);backdrop-filter:blur(14px);
}
.rv-header.rv-scrolled{border-bottom-color:var(--rv-line)}
.rv-logo{flex:none}
.rv-logo .wp-block-site-title{margin:0}
.rv-logo .wp-block-site-title a{
  font-family:var(--wp--preset--font-family--display);
  font-weight:600;font-size:1.22rem;letter-spacing:-.02em;
  color:var(--rv-ink)!important;text-decoration:none;
}
.rv-logo .wp-block-site-title a:hover{color:var(--rv-teal)!important}
.rv-header .wp-block-shortcode{margin:0;flex:none}
.wp-block-navigation .wp-block-navigation-item__content{
  font-size:.925rem;font-weight:400;color:var(--rv-ink-soft);
}
.wp-block-navigation .wp-block-navigation-item__content:hover{color:var(--rv-ink);text-decoration:none}
.rv-cart-link{
  display:inline-flex;align-items:center;gap:.5rem;
  background:rgba(252,252,252,.12);color:var(--rv-ink)!important;
  border-radius:var(--rv-radius-btn);padding:.5rem 1.05rem;
  font-size:.9rem;font-weight:500;text-decoration:none;transition:background .2s;
}
.rv-cart-link:hover{background:rgba(252,252,252,.2);text-decoration:none}
.rv-cart-count{background:var(--rv-teal);color:#06231F;border-radius:99px;font-size:.68rem;padding:.1rem .45rem;font-weight:600}

/* ==========================================================================
   5. TYPOGRAFIA I ELEMENTY
   ========================================================================== */
.rv-lede{max-width:44ch}
.rv-hero h1{max-width:16ch}

.rv-badge{
  display:inline-flex;align-items:center;gap:.55rem;
  border:1px solid var(--rv-line-soft);border-radius:var(--rv-radius-sm);
  padding:.3rem .8rem;background:transparent;
  font-size:.82rem;letter-spacing:0;color:var(--rv-ink-soft);
  width:fit-content;text-transform:none;font-family:inherit;
}
.rv-badge::before{
  content:"";width:6px;height:6px;border-radius:50%;background:var(--rv-teal);flex:none;
}
.rv-badge.has-text-align-center{display:flex;margin-inline:auto}

.rv-mono{
  font-family:var(--wp--preset--font-family--mono);
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rv-ink-soft);
}
.rv-step-num{font-size:.82rem;color:var(--rv-teal);font-weight:500}

/* przyciski */
.wp-block-button__link{transition:background .2s,border-color .2s,transform .2s}
.wp-block-button.rv-ghost .wp-block-button__link{
  background:transparent;color:var(--rv-ink);border:1px solid var(--rv-line);box-shadow:none;
}
.wp-block-button.rv-ghost .wp-block-button__link:hover{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.04)}

/* karty */
.rv-card{
  background:transparent;border:1px solid var(--rv-line);
  border-radius:var(--rv-radius);transition:border-color .25s,background .25s;
}
.rv-card:hover{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.015)}
.rv-equal .wp-block-column{display:flex}
.rv-equal .wp-block-column > .wp-block-group{flex:1;display:flex;flex-direction:column}

/* listy z ptaszkami */
.rv-ticks{list-style:none;padding-left:0!important;margin:1.2rem 0 0}
.rv-ticks li{
  position:relative;padding-left:1.85rem;margin-bottom:.7rem;
  color:var(--rv-ink);font-size:.95rem;
}
.rv-ticks li::before{
  content:"";position:absolute;left:0;top:.15rem;
  width:1.15rem;height:1.15rem;border-radius:50%;
  border:1px solid var(--rv-ink-soft);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F4F4F5' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size:.65rem;background-position:center;background-repeat:no-repeat;
}

.rv-check{
  display:inline-flex;align-items:center;gap:.5rem;
  border:1px solid var(--rv-line);border-radius:99px;
  padding:.45rem 1rem;font-size:.85rem;color:var(--rv-ink-soft);background:transparent;
}
.rv-check::before{
  content:"";flex:none;width:1rem;height:1rem;border-radius:50%;
  border:1px solid var(--rv-ink-soft);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233ECFCF' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size:.6rem;background-position:center;background-repeat:no-repeat;
}

/* pasek liczb */
.rv-datum strong,.rv-datum b{
  display:block;font-family:var(--wp--preset--font-family--display);
  font-size:2.1rem;font-weight:500;letter-spacing:-.03em;color:var(--rv-ink);line-height:1.1;
}

/* separatory */
.wp-block-separator{border-color:var(--rv-line);opacity:1}

/* ==========================================================================
   6. DIAGRAM PRZEPŁYWU (hero)
   ========================================================================== */
.rv-float-wrap{position:relative}
.rv-flow{
  position:relative;border:1px solid var(--rv-line);border-radius:var(--rv-radius);
  background:linear-gradient(180deg,rgba(255,255,255,.03) 0%,rgba(255,255,255,0) 60%);
  padding:1.6rem 1.7rem 1.8rem;
  box-shadow:0 24px 60px -30px rgba(0,0,0,.8);
}
.rv-flow-label{
  font-family:var(--wp--preset--font-family--mono);
  font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--rv-ink-soft);margin:0 0 1.3rem;
}
.rv-flow-item{
  position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.85rem 0 .85rem 2rem;margin:0;
  font-size:.95rem;color:var(--rv-ink);
}
.rv-flow-item span{font-family:var(--wp--preset--font-family--mono);font-size:.72rem;color:var(--rv-ink-soft);flex:none}
/* kropka */
.rv-flow-item::before{
  content:"";position:absolute;left:0;top:1.15rem;
  width:9px;height:9px;border-radius:50%;
  background:var(--rv-teal);box-shadow:0 0 0 4px rgba(62,207,207,.14);
}
/* łącznik */
.rv-flow-item::after{
  content:"";position:absolute;left:4px;top:1.9rem;bottom:-.55rem;
  width:1px;background:linear-gradient(180deg,rgba(62,207,207,.45),rgba(62,207,207,.08));
}
.rv-flow-item:last-child::after{display:none}
.rv-flow-item.is-done::before{background:var(--rv-ink);box-shadow:0 0 0 4px rgba(255,255,255,.1)}
.rv-flow-item.is-done span{color:var(--rv-teal)}

/* pływające etykiety */
.rv-tag{
  position:absolute;z-index:5;display:inline-flex;align-items:center;
  border:1px solid var(--rv-line-soft);border-radius:99px;
  background:rgba(20,27,27,.92);backdrop-filter:blur(8px);
  padding:.42rem .95rem;font-size:.8rem;font-weight:500;white-space:nowrap;
  box-shadow:0 12px 30px -12px rgba(0,0,0,.9);
}
.rv-tag--teal{color:var(--rv-teal);left:-1.1rem;top:16%}
.rv-tag--ice{color:var(--rv-ink);right:-1.1rem;top:52%}
.rv-dose{
  position:absolute;z-index:5;right:-1rem;bottom:8%;
  border:1px solid var(--rv-line-soft);border-radius:12px;
  background:rgba(20,27,27,.94);backdrop-filter:blur(8px);
  padding:.6rem .9rem;text-align:left;
  box-shadow:0 12px 30px -12px rgba(0,0,0,.9);
  font-family:var(--wp--preset--font-family--mono);font-size:.66rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--rv-ink-soft);line-height:1.5;
}
.rv-dose strong{display:block;font-family:var(--wp--preset--font-family--display);
  font-size:1.05rem;letter-spacing:-.02em;text-transform:none;color:var(--rv-teal)}

/* ==========================================================================
   7. CIEMNY BANER I CTA
   ========================================================================== */
.rv-science{
  position:relative;border:1px solid var(--rv-line);border-radius:var(--rv-radius);
  background:
    radial-gradient(80% 120% at 15% 0%,rgba(62,207,207,.10),transparent 60%),
    rgba(255,255,255,.02);
  overflow:hidden;
}
.rv-cert{border:1px solid var(--rv-line)!important;background:rgba(255,255,255,.03)!important;border-radius:var(--rv-radius)!important}
.rv-cert .rv-ticks{margin-top:1rem}

.rv-promo{
  position:relative;border:1px solid var(--rv-line);
  background:
    radial-gradient(60% 140% at 50% 0%,rgba(62,207,207,.13),transparent 65%),
    rgba(255,255,255,.02)!important;
  overflow:hidden;
}
.rv-promo::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent 15%,rgba(62,207,207,.7) 50%,transparent 85%);
}

/* ==========================================================================
   8. FAQ
   ========================================================================== */
.wp-block-details{
  background:transparent;border:1px solid var(--rv-line);
  border-radius:var(--rv-radius);padding:1.25rem 1.5rem;transition:border-color .2s;
}
.wp-block-details:hover{border-color:rgba(255,255,255,.16)}
.wp-block-details summary{
  font-family:var(--wp--preset--font-family--display);
  font-weight:500;font-size:1.02rem;cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:1rem;color:var(--rv-ink);
}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::after{
  content:"+";flex:none;width:26px;height:26px;border-radius:50%;
  border:1px solid var(--rv-line);color:var(--rv-ink-soft);
  display:grid;place-items:center;font-size:1rem;transition:transform .25s,color .2s;
}
.wp-block-details[open] summary::after{content:"−";color:var(--rv-teal);border-color:var(--rv-teal)}
.wp-block-details p{margin-top:.9rem;color:var(--rv-ink-soft);font-size:.95rem;line-height:1.7}

/* ==========================================================================
   9. STOPKA
   ========================================================================== */
.rv-footer{
  border-top:1px solid var(--rv-line);background:transparent!important;
  color:var(--rv-ink)!important;border-radius:0;position:relative;
}
.rv-footer a{color:var(--rv-ink-soft)!important;transition:color .2s}
.rv-footer a:hover{color:var(--rv-ink)!important;text-decoration:none}
.rv-footer .rv-logo .wp-block-site-title a{color:var(--rv-ink)!important}
.rv-footer .rv-logo .wp-block-site-title a:hover{color:var(--rv-teal)!important}
.rv-footer-list{list-style:none;padding-left:0!important;margin:0}
.rv-footer-list li{margin:0 0 .6rem}

/* ==========================================================================
   10. STRONY TREŚCIOWE
   ========================================================================== */
.rv-page-head{border-bottom:1px solid var(--rv-line);background:transparent}
.rv-prose{font-size:1rem;line-height:1.8;color:var(--rv-ink-soft)}
.rv-prose h2{font-size:1.6rem;margin-top:2.6rem;margin-bottom:.9rem;color:var(--rv-ink)}
.rv-prose h3{font-size:1.18rem;margin-top:1.9rem;margin-bottom:.6rem;color:var(--rv-ink)}
.rv-prose p{margin-bottom:1.1rem}
.rv-prose li{margin-bottom:.55rem}
.rv-prose strong{color:var(--rv-ink)}
.rv-prose a{color:var(--rv-teal)!important}
.rv-prose table{
  width:100%;border-collapse:collapse;margin:1.4rem 0;
  border:1px solid var(--rv-line);border-radius:var(--rv-radius);overflow:hidden;font-size:.92rem;
}
.rv-prose th{
  background:rgba(255,255,255,.04);color:var(--rv-ink);
  font-family:var(--wp--preset--font-family--mono);
  font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
  text-align:left;padding:.85rem 1.1rem;font-weight:500;
}
.rv-prose td{padding:.85rem 1.1rem;border-top:1px solid var(--rv-line)}
.rv-legal{max-width:820px;margin-inline:auto}
.rv-disclaimer{
  margin-top:1.35rem;font-size:.82rem;line-height:1.7;color:var(--rv-ink-soft);
  border:1px solid var(--rv-line);border-radius:12px;padding:.9rem 1.1rem;
}

/* ==========================================================================
   11. ANIMACJE
   ========================================================================== */
.rv-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}
.rv-reveal.rv-in{opacity:1;transform:none}
.rv-reveal-d1{transition-delay:.08s}
.rv-reveal-d2{transition-delay:.16s}
.rv-reveal-d3{transition-delay:.24s}
.editor-styles-wrapper .rv-reveal{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .rv-reveal{opacity:1;transform:none}
}

/* ==========================================================================
   12. WOOCOMMERCE — karty cenowe
   ========================================================================== */
.wc-block-product-template,
ul.wc-block-product-template{
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1.1rem;list-style:none;padding:0;margin:0;
}
.wc-block-product-template .wc-block-product,
ul.products li.product{
  /* WooCommerce ustawia content-box — bez tego padding dokłada się
     do szerokości i karta wychodzi poza kolumnę siatki. */
  box-sizing:border-box;
  position:relative;display:flex;flex-direction:column;
  border:1px solid var(--rv-line);border-radius:var(--rv-radius);
  padding:1.75rem 1.6rem;background:transparent;
  transition:border-color .25s,background .25s;
  text-align:left;width:auto!important;margin:0!important;
}
.wc-block-product-template .wc-block-product:hover,
ul.products li.product:hover{
  border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.02);
  transform:none;box-shadow:none;
}
.wc-block-product-template .wc-block-product.rv-featured,
ul.products li.product.rv-featured{border-color:rgba(62,207,207,.4)}
.wc-block-product-template .wc-block-product.rv-featured::before,
ul.products li.product.rv-featured::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent 15%,rgba(62,207,207,.85) 50%,transparent 85%);
}
.wc-block-product-template .wp-block-post-title,
ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--wp--preset--font-family--display)!important;
  font-size:1.12rem!important;font-weight:600!important;letter-spacing:-.01em;
  color:var(--rv-ink)!important;padding:0!important;margin:0 0 1.4rem!important;
}
.wc-block-product-template .wp-block-post-title a,
ul.products li.product .woocommerce-loop-product__title a{color:var(--rv-ink)!important;text-decoration:none}
.wc-block-product-template .wp-block-woocommerce-product-price,
ul.products li.product .price{
  font-family:var(--wp--preset--font-family--display)!important;
  font-size:2.5rem!important;font-weight:500!important;letter-spacing:-.03em;
  color:var(--rv-ink)!important;line-height:1.1;display:block;margin:0 0 .35rem!important;
}
.wc-block-product-template .wp-block-woocommerce-product-price del,
ul.products li.product .price del{display:none}
.wc-block-product-template .wp-block-woocommerce-product-price ins,
ul.products li.product .price ins{text-decoration:none;background:transparent;color:inherit}
.woocommerce-Price-currencySymbol{font-size:.5em;vertical-align:.55em;margin-left:.12em;color:var(--rv-ink-soft)}
.rv-price-note{font-size:.76rem;font-weight:600;color:var(--rv-ink-soft);margin:0 0 1.3rem}
.wc-block-product-template .wp-block-post-excerpt,
.wc-block-product-template .wp-block-post-excerpt p{
  font-size:.92rem;line-height:1.65;color:var(--rv-ink-soft);margin:0 0 1.4rem;
}
.wc-block-product-template .wp-block-post-excerpt__more-text{display:none}
.wc-block-product-template .wp-block-button__link,
ul.products li.product .button{
  display:block!important;width:100%;text-align:center;
  background:rgba(252,252,252,.2)!important;color:#fff!important;
  border:none!important;border-radius:var(--rv-radius-btn)!important;
  padding:.75rem 1.2rem!important;font-size:.95rem!important;font-weight:500!important;
  box-shadow:none!important;margin:0!important;transition:background .2s;
}
.wc-block-product-template .wp-block-button__link:hover,
ul.products li.product .button:hover{background:rgba(252,252,252,.3)!important;transform:none}
ul.products li.product .added_to_cart{display:none}
ul.products li.product img,
.wc-block-product-template img{display:none}
.woocommerce span.onsale{display:none}

/* ==========================================================================
   13. WOOCOMMERCE — produkt, koszyk, zamówienie
   ========================================================================== */
.woocommerce div.product .product_title{
  font-family:var(--wp--preset--font-family--display);
  font-size:clamp(2rem,4vw,2.8rem);font-weight:500;letter-spacing:-.03em;line-height:1.05;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color:var(--rv-ink)!important;font-family:var(--wp--preset--font-family--display);
  font-size:2.6rem!important;font-weight:500;letter-spacing:-.03em;
}
.woocommerce div.product div.images{display:none}
.woocommerce div.product div.summary{width:100%!important;float:none!important}
.woocommerce div.product .woocommerce-product-details__short-description{
  color:var(--rv-ink-soft);font-size:1rem;line-height:1.7;margin-bottom:1.6rem;
}
.woocommerce .quantity .qty{
  border:1px solid var(--rv-line);border-radius:var(--rv-radius-btn);
  padding:.75rem .6rem;background:transparent;color:var(--rv-ink);
  width:5rem;text-align:center;font-weight:500;
}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt{
  background:rgba(252,252,252,.2)!important;color:#fff!important;
  border-radius:var(--rv-radius-btn)!important;padding:.75rem 1.5rem!important;
  font-weight:500!important;font-size:.95rem!important;box-shadow:none!important;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce input.button:hover,.woocommerce a.button.alt:hover{background:rgba(252,252,252,.3)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding-left:0}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-bottom-color:var(--rv-line)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border-color:var(--rv-line);border-radius:8px 8px 0 0}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:transparent;border-bottom-color:var(--rv-bg)}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-weight:500;color:var(--rv-ink-soft)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--rv-ink)}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:1.5rem;margin-bottom:1.1rem}
.woocommerce div.product .woocommerce-tabs .panel p,
.woocommerce div.product .woocommerce-tabs .panel li{color:var(--rv-ink-soft);line-height:1.75}
.woocommerce div.product .woocommerce-tabs .panel strong{color:var(--rv-ink)}
.woocommerce div.product .woocommerce-tabs .panel table{
  width:100%;border-collapse:collapse;margin:1.2rem 0 1.6rem;
  border:1px solid var(--rv-line);border-radius:var(--rv-radius);overflow:hidden;font-size:.92rem;
}
.woocommerce div.product .woocommerce-tabs .panel table th{
  background:rgba(255,255,255,.04);color:var(--rv-ink);text-align:left;padding:.85rem 1.1rem;
  font-family:var(--wp--preset--font-family--mono);font-size:.68rem;
  letter-spacing:.12em;text-transform:uppercase;font-weight:500;
}
.woocommerce div.product .woocommerce-tabs .panel table td{
  padding:.85rem 1.1rem;border-top:1px solid var(--rv-line);color:var(--rv-ink-soft);
}
.woocommerce div.product .woocommerce-tabs .panel figure{margin:0;overflow-x:auto}
.woocommerce .product_meta{font-size:.85rem;color:var(--rv-ink-soft);border-top:1px solid var(--rv-line);padding-top:1rem;margin-top:1.5rem}
.woocommerce table.shop_table{
  border:1px solid var(--rv-line);border-radius:var(--rv-radius);
  background:transparent;border-collapse:separate;overflow:hidden;color:var(--rv-ink);
}
.woocommerce table.shop_table th{
  font-family:var(--wp--preset--font-family--mono);font-size:.68rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--rv-ink-soft);font-weight:500;padding:1.05rem;
}
.woocommerce table.shop_table td{padding:1.05rem;border-top:1px solid var(--rv-line)}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  border:1px solid var(--rv-line)!important;border-radius:12px!important;
  padding:.85rem 1.05rem!important;background:rgba(255,255,255,.03)!important;
  color:var(--rv-ink)!important;height:auto!important;
}
.woocommerce form .form-row label{font-size:.85rem;font-weight:500;color:var(--rv-ink);margin-bottom:.35rem}
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  border-top:none!important;border-radius:12px;
  background:rgba(255,255,255,.03);border:1px solid var(--rv-line);color:var(--rv-ink);
  padding:1rem 1.4rem 1rem 3.1rem!important;
}
.woocommerce-message::before,.woocommerce-info::before{color:var(--rv-teal)}
.woocommerce-breadcrumb{font-size:.85rem;color:var(--rv-ink-soft);margin-bottom:1.5rem!important}
.woocommerce-breadcrumb a{color:var(--rv-ink-soft)}
#add_payment_method #payment,.woocommerce-cart #payment,.woocommerce-checkout #payment{
  background:rgba(255,255,255,.03);border:1px solid var(--rv-line);border-radius:var(--rv-radius);
}
.woocommerce-checkout #payment div.payment_box{background:rgba(255,255,255,.04);border-radius:12px;color:var(--rv-ink-soft)}
.wc-block-components-text-input input,
.wc-block-components-select select{
  background:rgba(255,255,255,.03)!important;border-color:var(--rv-line)!important;color:var(--rv-ink)!important;
}
.wc-block-components-totals-item,.wc-block-components-order-summary-item{color:var(--rv-ink)}

/* ==========================================================================
   14. RESPONSYWNOŚĆ
   ========================================================================== */
@media (max-width:1024px){
  .rv-tag--teal{left:.5rem;top:12%}
  .rv-tag--ice{right:.5rem;top:50%}
  .rv-dose{right:.5rem;bottom:5%}
  .rv-hero h1{max-width:none}
}
@media (max-width:781px){
  .rv-datum strong,.rv-datum b{font-size:1.7rem}
  .wp-block-details{padding:1.05rem 1.15rem}
  .wp-block-details summary{font-size:.96rem}
  body::before{background-size:44px 44px}
}
@media (max-width:600px){
  .rv-tag,.rv-dose{transform:scale(.92);transform-origin:left center}
  .rv-tag--ice,.rv-dose{transform-origin:right center}
  .rv-check{padding:.4rem .85rem;font-size:.78rem}
  .rv-flow{padding:1.3rem 1.2rem 1.5rem}
  .woocommerce div.product form.cart .button{width:100%}
}

/* ==========================================================================
   15. KARTY PAKIETÓW — dopracowanie
   ========================================================================== */
/* przycisk zawsze przy dolnej krawędzi karty */
.wc-block-product-template .wc-block-product .wp-block-button{margin-top:auto;width:100%}
.wc-block-product-template .wp-block-woocommerce-product-summary{margin:0 0 1.5rem}
.wc-block-product-template .wp-block-woocommerce-product-summary p{margin:0 0 1.1rem}
.wc-block-product-template .wp-block-woocommerce-product-summary .rv-ticks{margin:0}
.wc-block-product-template .wp-block-woocommerce-product-summary .rv-ticks li{
  font-size:.88rem;color:var(--rv-ink-soft);margin-bottom:.6rem;
}

/* wycena indywidualna — bez dopisku o cenie i bez pustego miejsca */
.wc-block-product-template .product-type-external .rv-price-note{display:none}
.wc-block-product-template .product-type-external .wp-block-woocommerce-product-price{display:none}

/* etykieta wyróżnionego pakietu */
.wc-block-product-template .wc-block-product.rv-featured .wp-block-post-title::after{
  content:"Najczęściej wybierany";
  display:inline-block;margin-left:.6rem;vertical-align:middle;
  border:1px solid rgba(62,207,207,.45);border-radius:var(--rv-radius-sm);
  padding:.15rem .55rem;font-size:.68rem;font-weight:500;
  color:var(--rv-teal);letter-spacing:0;white-space:nowrap;
}

/* Karty równej wysokości są kontenerami flex, a układ constrained WordPressa
   dokłada dzieciom margin-inline:auto z !important — w kolumnie flex centruje
   to krótkie elementy (nagłówki, etykiety). Zerujemy marginesy. */
.rv-equal .wp-block-column > .wp-block-group > *{
  margin-inline:0!important;width:100%;max-width:100%;
}

/* ==========================================================================
   16. KARTY PAKIETÓW NA MAŁYCH EKRANACH
   ========================================================================== */
.wc-block-product-template .wp-block-woocommerce-product-price,
ul.products li.product .price{white-space:nowrap}

@media (max-width:900px){
  .wc-block-product-template,
  ul.wc-block-product-template{grid-template-columns:repeat(2,1fr)!important}
}
@media (max-width:640px){
  /* jedna kolumna — przy dwóch nazwy pakietów łamią się w środku wyrazu */
  .wc-block-product-template,
  ul.wc-block-product-template{grid-template-columns:1fr!important}
  .wc-block-product-template .wc-block-product,
  ul.products li.product{width:100%!important}
}
