/* Raadhaye Elements | Product page skin + floating WhatsApp. Font: Poppins. */
body.rpp-on {
  --rpp-red:#d7192d; --rpp-red-d:#b01022; --rpp-ink:#131313; --rpp-ink2:#4a4644; --rpp-line:#dcd5d0; --rpp-soft:#f8f4f1;
  font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
body.rpp-on :is(h1,h2,h3,h4,button,input,select,textarea,.price,.button) { font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif; }

/* page container + breadcrumb */
body.rpp-on .woocommerce-breadcrumb { margin:18px 0 22px; font-size:13px; color:#867f7b; }
body.rpp-on .woocommerce-breadcrumb a { color:var(--rpp-ink2); text-decoration:none; }
body.rpp-on .woocommerce-breadcrumb a:hover { color:var(--rpp-red); }

/* gallery */
body.rpp-on div.product div.images img { border-radius:16px; }
body.rpp-on div.product div.images .woocommerce-product-gallery__trigger { background:#fff; box-shadow:0 6px 18px rgba(19,19,19,.18); }
body.rpp-on div.product div.images .flex-control-thumbs { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-top:12px; }
body.rpp-on div.product div.images .flex-control-thumbs li { width:auto!important; float:none!important; margin:0!important; }
body.rpp-on div.product div.images .flex-control-thumbs img { border-radius:10px; opacity:.7; transition:opacity .2s; }
body.rpp-on div.product div.images .flex-control-thumbs img.flex-active, body.rpp-on div.product div.images .flex-control-thumbs img:hover { opacity:1; }

/* title + price */
body.rpp-on div.product .product_title { margin:0 0 12px; color:var(--rpp-ink); font-size:clamp(26px,3vw,38px); font-weight:600; line-height:1.2; letter-spacing:-.01em; }
body.rpp-on div.product p.price, body.rpp-on div.product span.price { display:block; margin:0 0 14px; color:var(--rpp-ink)!important; font-size:clamp(24px,2.6vw,32px); font-weight:700; line-height:1.2; }
body.rpp-on div.product p.price del, body.rpp-on div.product span.price del { color:#9a928e; font-size:.65em; font-weight:500; }
body.rpp-on div.product p.price ins, body.rpp-on div.product span.price ins { text-decoration:none; }
body.rpp-on .woocommerce-product-details__short-description { color:var(--rpp-ink2); font-size:15px; line-height:1.75; }
body.rpp-on .woocommerce-variation-price .price { font-size:24px; margin:0 0 10px; }
body.rpp-on .woocommerce-variation-description { color:var(--rpp-ink2); }

/* variations */
body.rpp-on form.variations_form table.variations { display:block; width:100%; margin:18px 0 8px; border:0; background:none; }
body.rpp-on form.variations_form table.variations tbody, body.rpp-on form.variations_form table.variations tr { display:block; width:100%; border:0; background:none; }
body.rpp-on form.variations_form table.variations th, body.rpp-on form.variations_form table.variations td { display:block; width:100%; padding:0; border:0; background:none; text-align:left; }
body.rpp-on form.variations_form table.variations th.label, body.rpp-on form.variations_form table.variations th label { margin:0 0 10px; color:var(--rpp-ink); font-size:15px; font-weight:600; }
body.rpp-on form.variations_form table.variations select { width:100%; max-width:420px; height:50px; padding:0 14px; border:1px solid var(--rpp-line); border-radius:12px; background-color:#fff; font-size:15px; }
body.rpp-on form.variations_form table.variations select.rpp-hidden { position:absolute!important; width:1px!important; height:1px!important; opacity:0!important; pointer-events:none!important; overflow:hidden; }
body.rpp-on .rpp-swatches { display:flex; flex-wrap:wrap; gap:12px; }
body.rpp-on .rpp-swatch { min-width:92px; height:56px; padding:0 22px; border:1px solid var(--rpp-line); border-radius:14px; background:#fff; color:var(--rpp-ink); font-size:15px; font-weight:500; line-height:1; cursor:pointer; transition:border-color .2s,box-shadow .2s,background .2s,color .2s,transform .2s; }
body.rpp-on .rpp-swatch:hover:not(:disabled) { border-color:var(--rpp-ink); transform:translateY(-1px); }
body.rpp-on .rpp-swatch.is-on { border-color:var(--rpp-red); background:#fff6f7; color:var(--rpp-red); box-shadow:0 0 0 2px var(--rpp-red) inset; }
body.rpp-on .rpp-swatch:disabled { opacity:.4; cursor:not-allowed; text-decoration:line-through; }
body.rpp-on .rpp-swatch:focus-visible { outline:2px solid var(--rpp-red); outline-offset:3px; }
body.rpp-on a.reset_variations { display:inline-block; margin-top:10px; color:var(--rpp-red); font-size:13px; text-decoration:underline; }

/* quantity + buttons */
body.rpp-on form.cart .quantity-label, body.rpp-on form.cart > .rpp-qlabel { display:block; margin:18px 0 8px; font-size:15px; color:var(--rpp-ink2); }
body.rpp-on form.cart:not(.variations_form), body.rpp-on form.cart .woocommerce-variation-add-to-cart { display:flex; flex-wrap:wrap; align-items:stretch; gap:16px; margin:22px 0 12px; }
body.rpp-on form.cart .woocommerce-variation-add-to-cart { margin-top:8px; }
body.rpp-on .quantity { display:inline-flex; align-items:center; height:56px; margin:0!important; border:1px solid var(--rpp-line); border-radius:14px; background:#fff; overflow:hidden; }
body.rpp-on .quantity input.qty { width:56px; height:100%; padding:0; margin:0; border:0!important; border-radius:0; background:transparent; box-shadow:none!important; color:var(--rpp-ink); font-size:16px; font-weight:600; text-align:center; appearance:textfield; -moz-appearance:textfield; }
body.rpp-on .quantity input.qty::-webkit-outer-spin-button, body.rpp-on .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
body.rpp-on .rpp-q { width:48px; height:100%; padding:0; border:0; background:transparent; color:var(--rpp-ink); font-size:22px; line-height:1; cursor:pointer; transition:background .2s,color .2s; }
body.rpp-on .rpp-q:hover { background:var(--rpp-soft); color:var(--rpp-red); }
body.rpp-on form.cart .single_add_to_cart_button, body.rpp-on form.cart .rpp-buynow {
  flex:1 1 200px; min-height:56px; margin:0!important; padding:0 26px; border:2px solid var(--rpp-ink); border-radius:14px; background:var(--rpp-ink)!important; color:#fff!important; font-size:15px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; text-align:center; cursor:pointer; transition:background .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s;
}
body.rpp-on form.cart .single_add_to_cart_button:hover:not(.disabled) { background:#2b2b2b; border-color:#2b2b2b; color:#fff; transform:translateY(-1px); box-shadow:0 14px 24px -14px rgba(19,19,19,.7); }
body.rpp-on form.cart .rpp-buynow { background:#fff!important; border-color:var(--rpp-red)!important; color:var(--rpp-red)!important; }
body.rpp-on form.cart .rpp-buynow:hover:not(.disabled) { background:var(--rpp-red)!important; border-color:var(--rpp-red)!important; color:#fff!important; box-shadow:0 14px 24px -14px rgba(176,16,34,.85); }
body.rpp-on form.cart .single_add_to_cart_button.disabled, body.rpp-on form.cart .single_add_to_cart_button:disabled { opacity:.45; cursor:not-allowed; transform:none; box-shadow:none; }
body.rpp-on form.cart .single_add_to_cart_button:focus-visible { outline:2px solid var(--rpp-red); outline-offset:3px; }

/* meta (SKU + tags can be hidden from settings) */
body.rpp-on .product_meta { display:block; margin-top:22px; padding-top:18px; border-top:1px solid #ece6e2; color:var(--rpp-ink2); font-size:13.5px; line-height:1.9; }
body.rpp-on .product_meta a { color:var(--rpp-red); text-decoration:none; }
body.rpp-on .product_meta a:hover { text-decoration:underline; }
body.rpp-nometa .product_meta .sku_wrapper, body.rpp-nometa .product_meta .tagged_as { display:none!important; }
body.rpp-nometa .product_meta:not(:has(.posted_in)) { display:none; }

/* tabs */
body.rpp-on .woocommerce-tabs { margin-top:44px; }
body.rpp-on .woocommerce div.product .woocommerce-tabs ul.tabs, body.rpp-on .woocommerce-tabs ul.tabs { display:flex!important; flex-wrap:wrap; gap:12px; margin:0 0 24px!important; padding:0!important; list-style:none; border:0!important; overflow:visible; }
body.rpp-on .woocommerce-tabs ul.tabs::before, body.rpp-on .woocommerce-tabs ul.tabs::after { display:none!important; content:none!important; }
body.rpp-on .woocommerce div.product .woocommerce-tabs ul.tabs li, body.rpp-on .woocommerce-tabs ul.tabs li { margin:0!important; padding:0!important; border:0!important; border-radius:0!important; background:none!important; box-shadow:none!important; }
body.rpp-on .woocommerce-tabs ul.tabs li::before, body.rpp-on .woocommerce-tabs ul.tabs li::after { display:none!important; content:none!important; }
body.rpp-on .woocommerce div.product .woocommerce-tabs ul.tabs li a, body.rpp-on .woocommerce-tabs ul.tabs li a {
  display:inline-flex!important; align-items:center; justify-content:center; min-height:48px; padding:12px 28px!important; border:1px solid var(--rpp-line)!important; border-radius:999px!important; background:#fff!important;
  color:var(--rpp-ink)!important; font-size:14.5px!important; font-weight:500!important; line-height:1.2!important; letter-spacing:.01em; text-shadow:none!important; white-space:nowrap; transition:border-color .2s,background .2s,color .2s,box-shadow .2s;
}
body.rpp-on .woocommerce-tabs ul.tabs li a:hover { border-color:var(--rpp-ink)!important; }
body.rpp-on .woocommerce div.product .woocommerce-tabs ul.tabs li.active a, body.rpp-on .woocommerce-tabs ul.tabs li.active a { border-color:var(--rpp-ink)!important; background:var(--rpp-ink)!important; color:#fff!important; font-weight:600!important; box-shadow:0 12px 22px -14px rgba(19,19,19,.7); }

/* tab panels = clean cards */
body.rpp-on .woocommerce-tabs .woocommerce-Tabs-panel { margin:0!important; padding:clamp(20px,3vw,36px)!important; border:1px solid #ece6e2; border-radius:18px; background:#fff; box-shadow:0 18px 40px -30px rgba(19,19,19,.25); color:var(--rpp-ink2); font-size:15px; line-height:1.8; }
body.rpp-on .woocommerce-Tabs-panel--description > h2:first-child, body.rpp-on .woocommerce-Tabs-panel--additional_information > h2:first-child { display:none; }
body.rpp-on .woocommerce-Tabs-panel h2 { margin:0 0 14px; color:var(--rpp-ink); font-size:clamp(20px,2.2vw,26px); font-weight:600; line-height:1.3; }
body.rpp-on .woocommerce-Tabs-panel h3 { margin:26px 0 10px; color:var(--rpp-ink); font-size:clamp(17px,1.8vw,21px); font-weight:600; }
body.rpp-on .woocommerce-Tabs-panel--description h2:not(:first-child) { margin-top:28px; }
body.rpp-on .woocommerce-Tabs-panel p { margin:0 0 14px; }
body.rpp-on .woocommerce-Tabs-panel ul { margin:0 0 16px; padding-left:22px; }
body.rpp-on .woocommerce-Tabs-panel ul li { margin:0 0 6px; padding-left:4px; }
body.rpp-on .woocommerce-Tabs-panel ul li::marker { color:var(--rpp-red); }

/* additional information table */
body.rpp-on table.woocommerce-product-attributes { width:100%; margin:0; border-collapse:separate; border-spacing:0; border:1px solid #ece6e2; border-radius:14px; overflow:hidden; }
body.rpp-on table.woocommerce-product-attributes th, body.rpp-on table.woocommerce-product-attributes td { padding:16px 20px; border:0; border-bottom:1px solid #ece6e2; background:#fff; color:var(--rpp-ink2); font-size:15px; font-style:normal; text-align:left; vertical-align:middle; }
body.rpp-on table.woocommerce-product-attributes th { width:30%; min-width:130px; background:var(--rpp-soft); color:var(--rpp-ink); font-weight:600; }
body.rpp-on table.woocommerce-product-attributes tr:last-child th, body.rpp-on table.woocommerce-product-attributes tr:last-child td { border-bottom:0; }
body.rpp-on table.woocommerce-product-attributes td p { margin:0; font-style:normal; }

/* reviews */
body.rpp-on #reviews .woocommerce-Reviews-title { font-size:clamp(20px,2.2vw,26px); }
body.rpp-on #reviews .woocommerce-noreviews { margin:0 0 24px; padding:14px 18px; border-radius:12px; background:var(--rpp-soft); color:var(--rpp-ink2); }
body.rpp-on #review_form #respond { margin:0; }
body.rpp-on #review_form .comment-reply-title { display:block; margin:0 0 18px; color:var(--rpp-ink); font-size:clamp(17px,1.8vw,21px); font-weight:600; }
body.rpp-on #review_form .comment-form > p { margin:0 0 18px; }
body.rpp-on #review_form label { display:block; margin:0 0 8px; color:var(--rpp-ink); font-size:14px; font-weight:600; }
body.rpp-on #review_form label .required { color:var(--rpp-red); }
body.rpp-on #review_form .comment-form-rating p.stars { margin:0; line-height:1; }
body.rpp-on #review_form p.stars a { margin-right:6px; color:var(--rpp-red); font-size:24px; text-decoration:none; }
body.rpp-on #review_form p.stars a::before { color:var(--rpp-red); }
body.rpp-on #review_form textarea, body.rpp-on #review_form input[type="text"], body.rpp-on #review_form input[type="email"] { width:100%; padding:14px 16px; border:1px solid var(--rpp-line); border-radius:12px; background:#fff; color:var(--rpp-ink); font-size:15px; line-height:1.6; box-shadow:none; transition:border-color .2s,box-shadow .2s; }
body.rpp-on #review_form textarea { min-height:140px; resize:vertical; }
body.rpp-on #review_form textarea:focus, body.rpp-on #review_form input:focus { outline:0; border-color:var(--rpp-red); box-shadow:0 0 0 4px rgba(215,25,45,.1); }
body.rpp-on #review_form .comment-form-cookies-consent { display:flex; align-items:center; gap:10px; }
body.rpp-on #review_form .comment-form-cookies-consent label { margin:0; font-weight:400; }
body.rpp-on #review_form .form-submit input#submit { min-height:52px; padding:0 34px; border:2px solid var(--rpp-ink); border-radius:12px; background:var(--rpp-ink); color:#fff; font-size:14px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; transition:background .2s,transform .2s; }
body.rpp-on #review_form .form-submit input#submit:hover { background:var(--rpp-red); border-color:var(--rpp-red); transform:translateY(-1px); }
body.rpp-on .related.products > h2, body.rpp-on .up-sells > h2 { margin:48px 0 20px; font-size:clamp(22px,2.4vw,30px); font-weight:600; }

@media (max-width:600px) {
  body.rpp-on .rpp-swatch { min-width:calc(33.3% - 8px); padding:0 10px; height:52px; font-size:14px; }
  body.rpp-on form.cart .single_add_to_cart_button, body.rpp-on form.cart .rpp-buynow { flex:1 1 100%; }
}

/* floating WhatsApp */
.rpp-wa { position:fixed; right:22px; bottom:22px; z-index:99990; display:grid; place-items:center; width:62px; height:62px; border-radius:50%; background:#25d366; color:#fff!important; box-shadow:0 12px 28px -8px rgba(37,211,102,.75),0 0 0 5px rgba(37,211,102,.2); text-decoration:none!important; transition:transform .2s; }
.rpp-wa svg { width:32px; height:32px; }
.rpp-wa:hover { transform:scale(1.07); }
.rpp-wa::after { content:""; position:absolute; inset:-6px; border-radius:50%; border:2px solid rgba(37,211,102,.55); animation:rpp-pulse 2.4s ease-out infinite; }
@keyframes rpp-pulse { 0% { transform:scale(.9); opacity:.9; } 100% { transform:scale(1.35); opacity:0; } }
@media (max-width:600px) { .rpp-wa { right:14px; bottom:14px; width:56px; height:56px; } }
@media (prefers-reduced-motion:reduce) { .rpp-wa::after { animation:none; } }
