/*
Theme Name: RB Care
Author: Arranto & smilefotilo
Author URI: https://arranto.com/
Description: Elementor-ready WooCommerce storefront for RB Care.
Version: 1.2.1
Requires at least: 6.9
Requires PHP: 8.3
Text Domain: rb-care
*/
:root {
  --rb-ink: #0f172a;
  --rb-muted: #475569;
  --rb-blue: #f97015;
  --rb-line: #e2e8f0;
  --rb-surface: #f6f8fb;
  --rb-lime: #e7b008;
  --rb-radius: 12px;
  --rb-shell: 1292px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: white; color: var(--rb-ink); font: 16px/1.6 Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--rb-blue); }
img { max-width: 100%; height: auto; }
h1, h2, h3 { color: var(--rb-ink); line-height: 1.18; letter-spacing: -.035em; }
h1 { font-size: clamp(30px, 3.5vw, 48px); }
h2 { font-size: clamp(24px, 2.4vw, 32px); }
h3 { font-size: 21px; }
p { margin: 0 0 18px; }
button, input, textarea, select { font: inherit; }
button, a, input, select, textarea { touch-action: manipulation; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #649dff; outline-offset: 3px; }
.shell { width: min(calc(100% - 48px), var(--rb-shell)); margin-inline: auto; }
.rb-content { min-height: 55vh; padding-block: 36px 60px; }
.skip-link { position: absolute; left: -10000px; z-index: 100; background: white; padding: 12px; }
.skip-link:focus { left: 12px; }
.rb-global-header { border-bottom: 1px solid var(--rb-line); }
.rb-global-footer { margin-top: 50px; background: var(--rb-surface); border-top: 1px solid var(--rb-line); }
.rb-light-fallback { padding: 20px; display: flex; justify-content: space-between; gap: 16px; }
input, textarea, select, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { max-width: 100%; min-height: 46px; padding: 12px; border: 1px solid #c6d0dd; border-radius: 0; background: white; color: var(--rb-ink); }
input[type=checkbox], input[type=radio] { min-height: 0; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce #respond input#submit, .rb-form button { border: 0; border-radius: 0; background: var(--rb-blue); color: white; padding: 12px 20px; font-size: 14px; line-height: 1.4; font-weight: 600; cursor: pointer; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .rb-form button:hover { background: #b74405; color: white; }
.woocommerce ul.products, .woocommerce-page ul.products { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { float: none !important; width: 100% !important; min-width: 0; clear: none !important; margin: 0 !important; display: flex; flex-direction: column; padding: 16px; border: 1px solid var(--rb-line); border-radius: 0; background: white; }
.woocommerce ul.products li.product a img { width: 100%; height: 220px; object-fit: contain; background: #f8f8f7; border-radius: 0; margin-bottom: 16px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; margin: 0 0 12px; min-height: 44px; font-size: 16px; line-height: 1.4; letter-spacing: -.015em; }
.woocommerce ul.products li.product .price { color: var(--rb-ink); font-size: 22px; font-weight: 700; }
.woocommerce ul.products li.product .button { margin-top: auto; align-self: flex-start; }
.woocommerce .woocommerce-breadcrumb { color: var(--rb-muted); font-size: 13px; margin-bottom: 28px; }
.woocommerce div.product .product_title { font-size: clamp(28px, 3vw, 44px); margin: 0; }
.woocommerce div.product p.price { font-size: 32px; color: var(--rb-ink); }
.woocommerce div.product div.images { float: none; width: 100%; border: 1px solid var(--rb-line); border-radius: 0; padding: 22px; background: #fafbf9; }
.woocommerce div.product div.images img { width: 100%; height: 420px; object-fit: contain; }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: 10px; margin-top: 16px; }
.woocommerce div.product div.images .flex-control-thumbs img { height: 80px; border: 1px solid var(--rb-line); border-radius: 0; }
.woocommerce div.product form.cart { display: flex; gap: 12px; flex-wrap: wrap; margin: 0; padding-block: 16px; }
.woocommerce .quantity .qty { width: 76px; }
.woocommerce-product-details__short-description, .rb-product-note { color: var(--rb-muted); }
.product_meta { display: grid; gap: 8px; padding-top: 20px; border-top: 1px solid var(--rb-line); font-size: 13px; }
.woocommerce div.product .woocommerce-tabs { clear: both; border: 1px solid var(--rb-line); border-radius: 0; padding: 24px; margin: 28px 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; border: 0; background: #fff7ed; border-radius: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { color: white; background: var(--rb-blue); }
.rb-facts { width: 100%; border-collapse: collapse; font-size: 14px; }
.rb-facts th, .rb-facts td { text-align: left; padding: 12px; border-bottom: 1px solid var(--rb-line); overflow-wrap: anywhere; vertical-align: top; }
.rb-facts th { width: 30%; }
.rb-gallery-extra { display: flex; gap: 12px; overflow-x: auto; }
.rb-gallery-extra img { width: 120px; height: 100px; object-fit: contain; }
.rb-filter { display: flex; gap: 12px; align-items: center; padding: 18px; background: var(--rb-surface); border-radius: 0; margin-block: 16px; }
.rb-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; padding: 28px; border: 1px solid var(--rb-line); border-radius: 0; background: white; }
.rb-form label { display: flex; flex-direction: column; gap: 7px; font-size: 14px; font-weight: 600; min-width: 0; }
.rb-form input, .rb-form textarea, .rb-form select { width: 100%; }
.rb-form textarea { min-height: 120px; }
.rb-form .rb-full, .rb-form label:has(textarea[name=message]) { grid-column: 1 / -1; }
.rb-form fieldset { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; min-width: 0; border: 1px solid var(--rb-line); border-radius: 0; padding: 20px; }
.rb-form legend { padding-inline: 8px; font-weight: 700; }
.rb-form .rb-check { flex-direction: row; align-items: flex-start; font-weight: 400; }
.rb-form .rb-check input { width: 18px; height: 18px; flex-shrink: 0; margin-top: 4px; }
.rb-honeypot { position: absolute; left: -10000px; }
.rb-form [hidden] { display: none; }
.rb-notice, .woocommerce-info, .woocommerce-message { padding: 18px; border-radius: 0; background: #fff7ed; color: var(--rb-ink); overflow-wrap: anywhere; }
.rb-error { background: #fff0f0; border: 1px solid #d17b7b; }
.rb-community { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.rb-community article { border: 1px solid var(--rb-line); border-radius: 0; padding: 20px; }
.rb-community img { width: 100%; height: 220px; object-fit: contain; }
.rb-private-photos { display: flex; gap: 12px; flex-wrap: wrap; }
.rb-private-photos img { width: 180px; height: 160px; object-fit: contain; }
.woocommerce-cart-form, .cart-collaterals .cart_totals, .woocommerce-checkout #customer_details, #order_review, .woocommerce form.login, .woocommerce form.register, .woocommerce-MyAccount-content { padding: 24px; border: 1px solid var(--rb-line); border-radius: 0; background: white; }
.woocommerce table.shop_table { border-color: var(--rb-line); border-collapse: collapse; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 14px 10px; }
.woocommerce table.shop_table th { background: var(--rb-surface); font-size: 13px; color: var(--rb-muted); }
.woocommerce-cart table.cart img { width: 80px; border-radius: 0; }
.woocommerce .cart-collaterals { margin-top: 28px; }
.woocommerce-checkout #order_review_heading { margin: 24px 0 16px; }
.woocommerce-checkout #payment { background: var(--rb-surface); border-radius: 0; }
.woocommerce-MyAccount-navigation { background: #fff7ed; border-radius: 0; padding: 16px; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-MyAccount-navigation a { display: block; padding: 12px 16px; border-radius: 0; }
.woocommerce-MyAccount-navigation .is-active a { background: white; color: var(--rb-blue); }
.woocommerce #review_form #respond label { display: block; margin: 12px 0 6px; }
.woocommerce #review_form #respond .comment-form-cookies-consent label { display: inline; }
@media(min-width:1001px) {
  .woocommerce form.checkout { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: 24px; align-items: start; }
  .woocommerce form.checkout #customer_details { grid-column: 1; grid-row: 1 / 3; }
  .woocommerce form.checkout #customer_details .col-1, .woocommerce form.checkout #customer_details .col-2 { width: 100%; float: none; }
  .woocommerce form.checkout #customer_details .col-2 { margin-top: 24px; }
  .woocommerce form.checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0; }
  .woocommerce form.checkout #order_review { grid-column: 2; grid-row: 2; }
}
@media(max-width:767px) {
  .shell { width: calc(100% - 32px); }
  .rb-content { padding-block: 24px 40px; }
  .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .woocommerce ul.products li.product { padding: 10px; }
  .woocommerce ul.products li.product a img { height: 150px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px; min-height: 60px; }
  .woocommerce ul.products li.product .price { font-size: 19px; }
  .woocommerce ul.products li.product .button { padding: 10px 14px; font-size: 12px; }
  .woocommerce div.product div.images img { height: 300px; }
  .woocommerce div.product .woocommerce-tabs { padding: 16px; }
  .rb-form, .rb-form fieldset { grid-template-columns: 1fr; padding: 16px; }
  .rb-community { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rb-facts th, .rb-facts td { padding: 10px 5px; }
  .woocommerce .cart-collaterals .cart_totals { width: 100%; }
  .woocommerce-cart-form, .cart-collaterals .cart_totals, .woocommerce-checkout #customer_details, #order_review { padding: 14px; }
  .woocommerce table.shop_table_responsive td { overflow-wrap: anywhere; }
}
