/* RingAll x WooCommerce: shop, product, cart, checkout, my account (classic shortcodes AND block versions).
   Loaded only on WooCommerce pages. Uses the design tokens from styles.css. */
.ra-shop,.woocommerce-cart .entry__content,.woocommerce-checkout .entry__content,.woocommerce-account .entry__content{max-width:var(--wrap)}
.woocommerce-cart .entry__content,.woocommerce-checkout .entry__content,.woocommerce-account .entry__content{max-width:1000px}

/* Notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notice{list-style:none;margin:0 0 20px;padding:14px 18px;border-radius:12px;background:var(--sky-l);border:1px solid #a6dcfb;color:var(--navy-d);display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between}
.woocommerce-error{background:#fdecea;border-color:#f3b4ad;color:#7a1c13;display:block}
.woocommerce-error li{margin:0}
.woocommerce-message .button,.woocommerce-info .button{order:2}
.wc-block-components-notice-banner{border-radius:12px!important}

/* Buttons */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
.wc-block-components-button:not(.is-link),.wc-block-components-checkout-place-order-button,.woocommerce-Button,.single_add_to_cart_button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:999px;font-weight:700;text-decoration:none;
  border:2px solid var(--navy);background:var(--navy);color:#fff;cursor:pointer;font-size:1rem;font-family:inherit;line-height:1.2;box-shadow:none;transition:background .15s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,
.wc-block-components-button:not(.is-link):hover,.single_add_to_cart_button:hover{background:var(--navy-d);border-color:var(--navy-d);color:#fff}
.woocommerce a.button.disabled,.woocommerce button.button:disabled,.woocommerce button.button.disabled{opacity:.5;cursor:not-allowed}
.woocommerce a.added_to_cart{margin-left:10px;font-weight:700}
.woocommerce .button.wc-forward:not(.checkout-button){background:#fff;color:var(--navy)}
.wc-block-components-button.wc-block-components-button--outlined,.woocommerce a.button.wc-backward{background:#fff;color:var(--navy)}
.wc-block-components-button:focus-visible,.woocommerce a.button:focus-visible,.woocommerce button.button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}

/* Forms */
.woocommerce form .form-row{margin:0 0 16px;padding:0;display:block}
.woocommerce form .form-row label{display:block;font-weight:600;color:var(--ink);margin-bottom:6px}
.woocommerce form .form-row .required{color:#b42318;text-decoration:none}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.woocommerce .quantity .qty,.woocommerce-cart table.cart td.actions .coupon .input-text,
.wc-block-components-text-input input,.wc-blocks-components-select select,.wc-block-components-textarea textarea{
  width:100%;max-width:100%;padding:12px 14px;border:1px solid var(--field);border-radius:10px;font:inherit;color:var(--ink);background:#fff;min-height:48px}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus{outline:3px solid var(--blue);outline-offset:1px}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:calc(50% - 8px);float:left}
.woocommerce form .form-row-last{float:right}
.woocommerce form .form-row-wide,.woocommerce form .clear{clear:both}
@media (max-width:640px){.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none}}
.woocommerce .quantity .qty{width:90px;text-align:center}
.woocommerce form .select2-container .select2-selection--single{height:48px;border:1px solid var(--field);border-radius:10px}
.woocommerce form .select2-container .select2-selection__rendered{line-height:46px;padding-left:14px}
.woocommerce form .select2-container .select2-selection__arrow{height:46px}
.woocommerce-form-login,.woocommerce-form-register,.woocommerce-form-coupon,.checkout_coupon{border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin:0 0 24px;background:#fff}

/* Tables: cart, order review, account tables */
.woocommerce table.shop_table,.woocommerce table.woocommerce-table,.woocommerce table.my_account_orders{width:100%;min-width:0;border:1px solid var(--line);border-radius:var(--radius);border-collapse:separate;border-spacing:0;overflow:hidden;background:#fff;margin:0 0 24px}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle;text-align:left}
.woocommerce table.shop_table thead th{background:var(--soft);position:static;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.woocommerce table.shop_table tr:last-child>td,.woocommerce table.shop_table tr:last-child>th{border-bottom:0}
.woocommerce table.cart img{width:64px;height:auto;border-radius:8px}
.woocommerce table.cart .product-remove a{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:var(--soft);color:#b42318;text-decoration:none;font-size:1.2rem}
.woocommerce table.cart td.actions{text-align:right}
.woocommerce table.cart td.actions .coupon{float:left;display:flex;gap:8px;flex-wrap:wrap}
.woocommerce table.cart td.actions .coupon .input-text{width:180px}
.woocommerce dl.variation{margin:6px 0 0;font-size:.9rem;color:var(--muted)}
.woocommerce dl.variation dt{font-weight:600;float:left;margin-right:6px;clear:left}
.woocommerce dl.variation dd{margin:0}.woocommerce dl.variation dd p{margin:0}
@media (max-width:640px){
  .woocommerce table.shop_table_responsive tr td::before{color:var(--muted);font-weight:600}
  .woocommerce table.cart td.actions .coupon{float:none;margin-bottom:12px}
}
.woocommerce .cart-collaterals{display:grid;justify-content:end}
.woocommerce .cart_totals{width:min(100%,420px);float:none}
.woocommerce .cart_totals h2,.woocommerce-checkout h3,#order_review_heading{font-size:1.35rem}
.woocommerce .wc-proceed-to-checkout a.checkout-button{display:flex;width:100%}
.woocommerce-checkout .col2-set{display:grid;gap:24px}
.woocommerce-checkout #payment{background:var(--soft);border-radius:var(--radius);border:1px solid var(--line)}
.woocommerce-checkout #payment ul.payment_methods{list-style:none;margin:0;padding:16px;border-bottom:1px solid var(--line)}
.woocommerce-checkout #payment div.payment_box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;margin:10px 0 0}
.woocommerce-checkout #payment div.form-row{padding:16px}
.woocommerce-checkout #payment #place_order{width:100%;float:none}
.woocommerce-privacy-policy-text{font-size:.9rem;color:var(--muted)}

/* My Account */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px 1fr;gap:32px;align-items:start}
body.woocommerce-account:not(.logged-in) .woocommerce{display:block;max-width:760px}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.woocommerce-MyAccount-navigation li a{display:block;padding:12px 16px;text-decoration:none;color:var(--ink);font-weight:600;border-bottom:1px solid var(--line)}
.woocommerce-MyAccount-navigation li:last-child a{border-bottom:0}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation li a:hover{background:var(--soft);color:var(--navy)}
.woocommerce-MyAccount-content{min-width:0}
.woocommerce-account .u-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.woocommerce-account .u-columns .col-1,.woocommerce-account .u-columns .col-2{float:none;width:auto}
@media (max-width:800px){.woocommerce-account .woocommerce,.woocommerce-account .u-columns{grid-template-columns:1fr}}
.woocommerce .addresses .col-1,.woocommerce .addresses .col-2{float:none;width:auto}
.woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media (max-width:640px){.woocommerce-Addresses{grid-template-columns:1fr}}

/* Shop archive + product cards */
.woocommerce ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:24px}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin:0;width:auto;float:none;position:relative}
.woocommerce ul.products li.product a img{width:100%;height:auto;border-radius:10px;margin:0 0 12px;background:var(--soft)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1.1rem;font-weight:700;margin:0 0 6px;padding:0;color:var(--ink)}
.woocommerce ul.products li.product a{text-decoration:none}
.woocommerce ul.products li.product .price{display:block;margin:0 0 14px;color:var(--ink);font-weight:800;font-size:1.25rem}
.woocommerce .price del{color:var(--muted);font-weight:400}.woocommerce .price ins{text-decoration:none}
.woocommerce .woocommerce-price-suffix{font-weight:400;color:var(--muted);font-size:.85rem}
.woocommerce ul.products li.product .button{margin-top:auto;width:100%}
.woocommerce span.onsale{position:absolute;top:12px;left:12px;background:var(--sky);color:var(--on-sky);border-radius:999px;font-size:.78rem;font-weight:800;text-transform:uppercase;padding:4px 12px;line-height:1.4;min-height:0;min-width:0;margin:0}
.woocommerce .woocommerce-ordering select{padding:10px 12px;border:1px solid var(--field);border-radius:10px;background:#fff}
.woocommerce .woocommerce-result-count{color:var(--muted);margin:0 0 16px}
.woocommerce nav.woocommerce-pagination ul{list-style:none;display:flex;gap:6px;padding:0;border:0;justify-content:center}
.woocommerce nav.woocommerce-pagination ul li{border:0;float:none}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{display:block;padding:8px 14px;border:1px solid var(--line);border-radius:8px;text-decoration:none;min-width:0}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--navy);color:#fff;border-color:var(--navy)}

/* Single product */
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
.woocommerce div.product>.woocommerce-tabs,.woocommerce div.product>.related,.woocommerce div.product>.upsells{grid-column:1/-1}
@media (max-width:800px){.woocommerce div.product{grid-template-columns:1fr}}
.woocommerce div.product .product_title{font-size:clamp(1.6rem,4vw,2.2rem)}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ink);font-weight:800;font-size:1.6rem}
.woocommerce div.product form.cart{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 20px}
.woocommerce div.product .woocommerce-product-gallery{margin:0}
.woocommerce div.product .woocommerce-product-gallery img{border-radius:var(--radius)}
.woocommerce div.product .product_meta{font-size:.9rem;color:var(--muted)}
.woocommerce div.product .woocommerce-tabs ul.tabs{list-style:none;display:flex;gap:8px;padding:0;margin:0 0 16px;border-bottom:1px solid var(--line)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border:0;background:none;margin:0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;padding:10px 16px;text-decoration:none;font-weight:700;color:var(--muted);border-bottom:3px solid transparent}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--navy);border-bottom-color:var(--navy)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce .related h2,.woocommerce .upsells h2{font-size:1.4rem}
.woocommerce .star-rating{color:var(--sky-m)}

/* Order received */
.woocommerce-order-overview{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0 0 24px}
.woocommerce-order-overview li{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:.9rem;color:var(--muted)}
.woocommerce-order-overview li strong{display:block;color:var(--ink);font-size:1.05rem}

/* Cart and Checkout BLOCKS */
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{font-family:var(--font);color:var(--text)}
.wc-block-components-sidebar-layout{gap:32px}
.wc-block-cart__totals-title,.wc-block-components-title,.wc-block-components-checkout-step__title{font-weight:800;color:var(--ink)}
.wc-block-components-product-name{font-weight:700;color:var(--ink);text-decoration:none}
.wc-block-components-product-metadata{font-size:.9rem;color:var(--muted)}
.wc-block-components-sidebar,.wc-block-components-main{min-width:0}
.wc-block-components-totals-item__value,.wc-block-formatted-money-amount{font-weight:700;color:var(--ink)}
.wc-block-components-quantity-selector{border-radius:10px;border-color:var(--field)}
.wc-block-cart-items th{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.wc-block-components-notice-banner.is-success{border-color:#a6dcfb;background:var(--sky-l)}

/* The prototype's global table rule must not force horizontal scroll inside Woo */
.woocommerce table,.wp-block-woocommerce-cart table,.wp-block-woocommerce-checkout table{min-width:0}

/* The prototype uses .product and .products for its own phone cards; reset them for Woo's single product / related sections */
.woocommerce div.product{padding:0;border:0;background:none;box-shadow:none;border-radius:0}
.woocommerce section.products,.woocommerce .related.products,.woocommerce .upsells.products{display:block;grid-template-columns:none;background:none;border:0;box-shadow:none;padding:0;margin-top:32px}
.woocommerce .woocommerce-ordering{margin:0 0 20px}
.woocommerce .woocommerce-ordering select{width:auto;max-width:100%}
.woocommerce .woocommerce-result-count{float:none}
.woocommerce form .password-input{position:relative;display:block}
.woocommerce form .password-input input{padding-right:70px}
.woocommerce form .show-password-input{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:0;background:none;cursor:pointer;padding:4px;width:auto;height:auto;color:var(--blue);font-weight:700;font-size:.85rem}
.woocommerce form .show-password-input::after{content:"Show"}
.woocommerce form .show-password-input.display-password::after{content:"Hide"}

/* Checkout note + plan summary (RingAll Setup plugin) */
.ringall-checkout-note{display:block;box-sizing:border-box;width:100%;clear:both;float:none;margin:0 0 24px;padding:14px 18px;background:var(--sky-l);border:1px solid var(--sky);border-radius:var(--radius);color:var(--navy-d);line-height:1.5}
.ringall-checkout-note p{margin:0}
.ringall-plan-summary{box-sizing:border-box;width:100%;margin:0 0 24px;padding:14px 18px;background:var(--sky-l);border:1px solid var(--sky);border-radius:var(--radius)}
