/* =========================================================
   RSNT Theme Styles – Shop, Single Product, Cart/Checkout & Demo Submission
   ========================================================= */

/* -------------------------
   CSS Variables / Theme
------------------------- */
:root{
  --neon-cyan:#00e0ff;
  --neon-purple:#a57aff;
  --neon-pink:#ff4aa5;
  --neon-green:#00ff62;

  --dark-bg:#0a0f18;
  --card:#0b0b0f;
  --border:rgba(255,255,255,.10);
  --text:#ffffff;
  --text-2:#cfcfcf;

  --maxw:1200px;
  --padx:20px;
  --section:60px;
}

/* -------------------------
   Base (scoped optional)
------------------------- */
body.rsnt-shop-clean{
  background:var(--dark-bg);
  color:var(--text);
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,'Helvetica Neue',Arial,sans-serif;
  line-height:1.6;
}

/* -------------------------
   SHOP: clean Elementor canvas
------------------------- */
body.rsnt-shop-clean #rsnt-anim-bg,
body.rsnt-shop-clean .rsnt-hero,
body.rsnt-shop-clean .rsnt-topbar--hero,
body.rsnt-shop-clean .rsnt-shop-hero{ display:none !important; }

.rsnt-minbar{ display:flex; align-items:center; gap:.75rem; padding:12px 16px; }
.rsnt-minbrand img{ height:40px; width:auto; }
.rsnt-minfoot{ padding:16px; }

.rsnt-shop-page{ max-width:var(--maxw); margin:0 auto; padding:24px; }

/* Fallback-grid jos Elementor-sisältöä ei ole */
.rsnt-shop-fallback .woocommerce{ margin-top:16px; }
.rsnt-shop-fallback ul.products{
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
  list-style:none; padding:0; margin:24px 0;
}
@media (max-width:1024px){ .rsnt-shop-fallback ul.products{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:720px){  .rsnt-shop-fallback ul.products{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px){  .rsnt-shop-fallback ul.products{ grid-template-columns:1fr; } }

/* Tuotekortti */
.woocommerce ul.products li.product{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:12px; overflow:hidden;
}
.woocommerce ul.products li.product .button{ width:100%; text-align:center; }
.woocommerce ul.products li.product .price{ display:block; margin:.5rem 0 0; }

/* “New” -badge */
.rsnt-badge.rsnt-badge-new{
  position:absolute; top:10px; left:10px;
  padding:4px 8px; font-size:12px; line-height:1;
  background:var(--neon-cyan); color:#000; border-radius:999px; font-weight:700;
}

/* Piilota Woo listakromi */
body.rsnt-shop-clean .woocommerce-breadcrumb,
body.rsnt-shop-clean .woocommerce-result-count,
body.rsnt-shop-clean .woocommerce-ordering{ display:none !important; }

/* -------------------------
   DEMO SUBMISSION PAGE
------------------------- */
.page-template-demo-submission-page #rsnt-anim-bg,
.page-template-demo-submission-page .rsnt-hero,
.page-template-demo-submission-page .rsnt-topbar--hero,
.page-template-demo-submission-page .rsnt-shop-hero,
.page-template-demo-submission-page .rsnt-iso,
.page-template-demo-submission-page .iso-logo,
.page-template-demo-submission-page .isologo,
.page-template-demo-submission-page .site-watermark,
.page-template-demo-submission-page [class*="watermark"]{
  display:none !important; background:none !important; content:none !important;
}
.page-template-demo-submission-page,
.page-template-demo-submission-page *::before,
.page-template-demo-submission-page *::after{
  background-image:none !important;
}

/* =========================================================
   SINGLE PRODUCT — RESET + RSNT SKIN
   ========================================================= */
body.single-product{
  background:var(--dark-bg);
  color:var(--text);
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,'Helvetica Neue',Arial,sans-serif;
  line-height:1.6;
}
.single-product .product{
  background:var(--card) !important;
  border:1px solid var(--border) !important;
  border-radius:14px !important;
  padding:24px !important;
  box-shadow:0 10px 30px rgba(0,0,0,.45) !important;
}
.single-product .woocommerce-product-gallery{
  background:#0f0f13 !important;
  border:1px solid var(--border) !important;
  border-radius:12px !important;
  padding:14px !important;
}
.single-product .woocommerce-product-gallery__image img,
.single-product .flex-viewport{ border-radius:10px !important; }
.single-product .product_title{ text-transform:none !important; letter-spacing:normal !important;
  font-weight:900; margin:0 0 8px 0; }
.single-product .summary .price{ font-size:20px; font-weight:700; margin:.25rem 0 1rem; display:block; }
.single-product .summary .variations_form,
.single-product .summary form.cart{ margin:14px 0 18px; }
.single-product .single_add_to_cart_button,
.single-product .button{
  border-radius:10px; padding:12px 16px; font-weight:700;
  box-shadow:0 6px 18px rgba(0,0,0,.4);
}

/* === FIX: lomakekentät vaaleiksi === */
.single-product .variations select,
.single-product .qty,
.single-product .input-text,
.single-product input[type="text"],
.single-product input[type="number"],
.single-product input[type="email"],
.single-product select {
  background:#fff !important; color:#111 !important; border:1px solid var(--border) !important; border-radius:10px;
}
.single-product .select2-container--default .select2-selection--single{
  background:#fff !important; border:1px solid var(--border) !important;
  border-radius:10px !important; height:38px;
}
.single-product .select2-container--default .select2-selection--single .select2-selection__rendered{
  color:#111 !important; line-height:38px;
}
.single-product .select2-container--default .select2-selection--single .select2-selection__arrow{ height:38px; }
.single-product .select2-dropdown{ background:#fff !important; color:#111 !important; border-color:var(--border) !important; }
.single-product .select2-results__option{ color:#111 !important; }
.single-product .input-text:focus,
.single-product select:focus,
.single-product .select2-container--default .select2-selection--single:focus{
  outline:0; border-color:var(--neon-cyan) !important; box-shadow:0 0 0 3px rgba(0,224,255,.25);
}

.single-product .product_meta{ color:var(--text-2); font-size:.92rem; }
.single-product .product_meta a{ color:var(--neon-cyan); }
.single-product .woocommerce-tabs{ margin-top:28px; }
.single-product .woocommerce-tabs .wc-tabs{ border-bottom:1px solid var(--border); }
.single-product .woocommerce-tabs .wc-tabs li a{ color:var(--text-2); font-weight:600; }
.single-product .woocommerce-Tabs-panel{
  background:#0f0f13; border:1px solid var(--border);
  border-radius:12px; padding:18px; margin-top:16px;
}

/* Express-maksunapit */
.single-product .wc-stripe-payment-request-wrapper,
.single-product .gpay-widget-container,
.single-product .apple-pay-button,
.single-product button.gpay-card-info-container{
  width:100% !important; max-width:480px !important;
  display:block !important; margin:10px 0 0 !important;
}

/* =========================================================
   CART / CHECKOUT — RSNT Skin
   ========================================================= */
body.woocommerce-cart,
body.woocommerce-checkout{ background:var(--dark-bg); color:var(--text); }
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce{
  max-width:1200px; margin:0 auto; padding:24px;
}
.woocommerce-cart .cart,
.woocommerce-cart .cart_totals,
.woocommerce-checkout .checkout,
.woocommerce-checkout .col2-set,
.woocommerce-checkout .woocommerce-checkout-review-order{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:12px;
  box-shadow:0 10px 30px rgba(0,0,0,.45);
  padding:24px;
}
.woocommerce-cart .shop_table th,
.woocommerce-cart .shop_table td{ border-color:var(--border); }

/* Napeille yhtenäinen tyyli */
.woocommerce-cart .button,
.woocommerce-checkout .button{
  border-radius:10px; padding:12px 18px; font-weight:700;
}

/* Kentät vaaleiksi myös cart/checkout */
.woocommerce-cart input[type="text"],
.woocommerce-cart input[type="email"],
.woocommerce-cart input[type="tel"],
.woocommerce-cart input[type="number"],
.woocommerce-cart select,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout select{
  background:#fff !important; color:#111 !important; border:1px solid var(--border) !important; border-radius:10px;
}
.woocommerce-checkout .select2-container--default .select2-selection--single,
.woocommerce-cart .select2-container--default .select2-selection--single{
  background:#fff !important; border:1px solid var(--border) !important; border-radius:10px !important;
}
.woocommerce-checkout .select2-dropdown,
.woocommerce-cart .select2-dropdown{
  background:#fff !important; color:#111 !important; border-color:var(--border) !important;
}

/* =========================================================
   FIX: WooCommerce Select2 (variations: Color / Size)
   ========================================================= */

/* Itse kenttä */
.woocommerce div.product form.cart .variations td.value select,
.woocommerce div.product form.cart .variations td.value .select2-container .select2-selection--single {
  background:#fff !important;
  color:#111 !important;
  border:1px solid var(--border) !important;
  border-radius:10px !important;
  height:42px !important;
  min-width:200px;
}

/* Teksti sisällä */
.woocommerce div.product .select2-container--default .select2-selection--single .select2-selection__rendered {
  color:#111 !important;
  line-height:42px !important;
  padding-left:10px;
}

/* Dropdown-lista */
.woocommerce div.product .select2-dropdown {
  background:#fff !important;
  color:#111 !important;
  border:1px solid var(--border) !important;
}
.woocommerce div.product .select2-results__option {
  color:#111 !important;
  padding:8px 10px;
}
.woocommerce div.product .select2-results__option--highlighted {
  background:var(--neon-cyan) !important;
  color:#000 !important;
}

/* Nuoli */
.woocommerce div.product .select2-selection__arrow b {
  border-color:#111 transparent transparent transparent !important;
}
