/* ==========================================================================
   RAMANJI HANDLOOMS - Design System (WordPress / Astra / WooCommerce)
   Ported from the Phase 1 static build. Tokens mirror Elementor Global Colors.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500&family=Marcellus&family=Jost:wght@400;500;600;700&display=swap');

:root{
  --color-primary: #3B2314;
  --color-primary-dark: #241408;
  --color-secondary: #7A1E22;
  --color-accent: #B8892B;
  --color-accent-light: #D9B25C;
  --color-bg: #FBF6EC;
  --color-bg-alt: #F3E9D4;
  --color-text: #2A1B10;
  --color-muted: #6E5B4A;
  --color-border: #E4D6B8;
  --color-whatsapp: #25D366;
  --color-danger: #A2312B;
  --color-success: #3E6B4A;
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-heading: 'Marcellus', Georgia, serif;
  --font-body: 'Jost', 'Segoe UI', Arial, sans-serif;
  --radius-sm: 4px;
  --radius-md: 8px;
  --shadow-card: 0 6px 24px rgba(42,27,16,.09);
  --shadow-card-hover: 0 16px 40px rgba(42,27,16,.18);
  --transition: .35s cubic-bezier(.4,0,.2,1);
}

body, .ast-container{ font-family: var(--font-body); color: var(--color-text); background: var(--color-bg); }
h1,h2,h3,h4,h5,h6,
.entry-title, .woocommerce-loop-product__title, .product_title{
  font-family: var(--font-heading); color: var(--color-primary-dark); font-weight:500; line-height:1.2;
}
h1, .entry-title{ font-family: var(--font-display); font-weight:600; font-size: clamp(2.1rem,4vw,3.4rem); }
h2{ font-family: var(--font-display); font-weight:600; font-size: clamp(1.7rem,3vw,2.5rem); }
a{ color: var(--color-secondary); }
a:hover{ color: var(--color-accent); }

.rh-btn,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt,
.wp-block-button__link, .ast-button{
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  font-family: var(--font-body); font-weight:600; font-size:.95rem; letter-spacing:.03em;
  padding:.85em 1.9em; border-radius: var(--radius-sm); border:1.5px solid var(--color-secondary);
  background: var(--color-secondary); color:#fff; transition: all var(--transition); line-height:1.2;
  text-decoration:none;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .rh-btn:hover{
  background:#5E1519; border-color:#5E1519; color:#fff; transform: translateY(-2px); box-shadow: var(--shadow-card);
}
.rh-btn-gold{ background: var(--color-accent); border-color: var(--color-accent); color: var(--color-primary-dark); }
.rh-btn-gold:hover{ background: var(--color-accent-light); border-color: var(--color-accent-light); color: var(--color-primary-dark); }
.rh-btn-outline{ background:transparent; color: var(--color-primary); border-color: var(--color-primary); }
.rh-btn-outline:hover{ background: var(--color-primary); color:#fff; }
.rh-btn-whatsapp{ background: var(--color-whatsapp); border-color: var(--color-whatsapp); color:#fff; }
.rh-btn-whatsapp:hover{ background:#1EBE5A; border-color:#1EBE5A; color:#fff; }
.rh-btn-block{ width:100%; }
.rh-btn-sm{ padding:.55em 1.2em; font-size:.82rem; }

.rh-announcement{
  background: var(--color-primary-dark); color:#EFE4CE; font-size:.8rem; letter-spacing:.03em;
  text-align:center; padding:.55rem 1rem;
}
.rh-announcement a{ color: var(--color-accent-light); font-weight:600; margin-left:.6em; }
.rh-announcement a:hover{ text-decoration:underline; }

.rh-section{ padding: 5rem 0; }
.rh-section-alt{ background: var(--color-bg-alt); }
.rh-eyebrow{
  display:inline-block; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  font-size:.75rem; color: var(--color-secondary); margin-bottom:.5rem;
}
.rh-muted{ color: var(--color-muted); }
.rh-direct-answer{
  font-size:1.08rem; font-weight:500; background: var(--color-bg-alt);
  border-left:4px solid var(--color-secondary); padding:1rem 1.75rem;
  border-radius:0 var(--radius-sm) var(--radius-sm) 0; margin-bottom:1.75rem;
}
.rh-placeholder-note{
  background:#FFF8E6; border:1px solid #E9CE7C; color:#6B5108;
  padding:1rem 1.75rem; border-radius: var(--radius-sm); font-size:.88rem; margin:1rem 0;
}

.woocommerce ul.products{ display:grid; gap:1.75rem; margin:0; grid-template-columns: repeat(4, 1fr); }
.woocommerce ul.products::before, .woocommerce ul.products::after{ content:none; }
.woocommerce ul.products li.product{
  width:100% !important; margin:0 !important; float:none !important; clear:none !important;
  background:#fff; border:1px solid var(--color-border); border-radius: var(--radius-md);
  overflow:hidden; display:flex; flex-direction:column; transition: all var(--transition); position:relative;
}
.woocommerce ul.products li.product:hover{
  box-shadow: var(--shadow-card-hover); transform: translateY(-4px); border-color: var(--color-accent);
}
.woocommerce ul.products li.product a img{
  aspect-ratio: 3/4; object-fit: cover; width:100%; margin:0; transition: transform .6s ease;
}
.woocommerce ul.products li.product:hover a img{ transform: scale(1.07); }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family: var(--font-body); font-size:.98rem; font-weight:600; color: var(--color-text);
  padding:0 1rem; margin:.35rem 0 .2rem;
}
.woocommerce ul.products li.product .price{
  font-family: var(--font-heading); color: var(--color-secondary); font-weight:700; font-size:1.08rem;
  padding:0 1rem; margin-bottom:.4rem;
}
.woocommerce ul.products li.product .price del{ color: var(--color-muted); font-weight:400; font-size:.85rem; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }
.woocommerce ul.products li.product .button{ margin:0 1rem 1rem; }
.woocommerce ul.products li.product .rh-card-meta{
  font-size:.76rem; color: var(--color-muted); padding:0 1rem; margin-bottom:.2rem;
}
.woocommerce ul.products li.product .rh-cat-label{
  font-size:.7rem; text-transform:uppercase; letter-spacing:.08em;
  color: var(--color-secondary); font-weight:600; padding:1rem 1rem 0;
}
@media (max-width:1024px){ .woocommerce ul.products{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width:720px){ .woocommerce ul.products{ grid-template-columns: repeat(2, 1fr); gap:1rem; } }

.rh-badges{ position:absolute; top:.7rem; left:.7rem; display:flex; flex-direction:column; gap:.35rem; z-index:3; }
.rh-badge{
  font-size:.66rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
  padding:.3em .7em; border-radius:3px; color:#fff; width:max-content;
}
.rh-badge-new{ background: var(--color-secondary); }
.rh-badge-soldout{ background: var(--color-primary-dark); }
.rh-badge-trending{ background: var(--color-accent); color: var(--color-primary-dark); }
.woocommerce span.onsale{
  background: var(--color-success); color:#fff; font-family: var(--font-body); font-weight:700;
  font-size:.66rem; letter-spacing:.05em; text-transform:uppercase; padding:.3em .7em;
  border-radius:3px; min-height:auto; min-width:auto; line-height:1.6; top:.7rem; right:.7rem; left:auto; margin:0;
}

.rh-interested{
  display:inline-flex; align-items:center; gap:.35rem; font-size:.74rem; color: var(--color-muted);
  background:none; border:none; padding:0 1rem 1rem; cursor:pointer; font-family: var(--font-body);
}
.rh-interested:hover{ color: var(--color-secondary); }
.rh-interested .rh-heart{ color: var(--color-secondary); transition: transform .25s ease; font-size:.95rem; }
.rh-interested.rh-liked .rh-heart{ transform: scale(1.25); }
.rh-interested.rh-liked{ color: var(--color-secondary); font-weight:600; }
.rh-interested strong{ color: var(--color-text); }
.rh-interested[disabled]{ cursor:default; opacity:1; }
.entry-summary .rh-interested, .single-product .rh-interested{ padding:0; margin-top:1rem; font-size:.85rem; }

.rh-reweave-box{
  background: var(--color-bg-alt); border:1px dashed var(--color-secondary);
  border-radius: var(--radius-md); padding:1rem 1.75rem; margin-bottom:1.75rem;
}
.rh-reweave-box h4{ margin:0 0 .3rem; color: var(--color-secondary); font-family: var(--font-heading); }
.rh-reweave-box p{ font-size:.88rem; margin-bottom:.7rem; }
.rh-stock-note{ font-size:.85rem; font-weight:600; display:block; margin-bottom:.75rem; }
.rh-stock-note.rh-in{ color: var(--color-success); }
.rh-stock-note.rh-out{ color: var(--color-danger); }

.woocommerce div.product .product_title{ font-family: var(--font-display); font-weight:600; }
.woocommerce div.product p.price, .woocommerce div.product span.price{
  color: var(--color-secondary); font-family: var(--font-heading); font-weight:700; font-size:1.7rem;
}
.woocommerce div.product p.price del{ color: var(--color-muted); font-size:1rem; font-weight:400; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ color: var(--color-secondary); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ font-family: var(--font-body); font-weight:600; }
.woocommerce table.shop_attributes th{ font-family: var(--font-body); color: var(--color-muted); font-weight:500; }
.woocommerce table.shop_attributes td{ font-weight:600; font-style:normal; }
.rh-pdp-actions{ display:flex; gap:.7rem; flex-wrap:wrap; margin:1rem 0 1.5rem; }
.rh-pdp-actions .rh-btn{ flex:1; min-width:180px; }

.woocommerce table.shop_table{ border-radius: var(--radius-md); border-color: var(--color-border); }
.woocommerce table.shop_table th{ font-family: var(--font-body); color: var(--color-primary-dark); }
.woocommerce-cart .cart-collaterals .cart_totals > h2{ font-family: var(--font-display); }
.rh-cart-whatsapp-wrap{ margin:1.25rem 0; }
.rh-cart-whatsapp-wrap .rh-btn{ font-size:1.05rem; padding:1em 2em; }
.rh-cart-note{ font-size:.85rem; color: var(--color-muted); margin-top:.6rem; }
.woocommerce .wc-proceed-to-checkout .checkout-button{ display:none !important; }
.woocommerce-cart .wc-proceed-to-checkout{ padding-bottom:0; }

.rh-sticky-whatsapp{
  position:fixed; right:1rem; bottom:1rem; z-index:900;
  width:58px; height:58px; border-radius:50%; background: var(--color-whatsapp); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:1.7rem;
  box-shadow:0 8px 24px rgba(0,0,0,.28); transition: transform var(--transition);
}
.rh-sticky-whatsapp:hover{ transform: scale(1.08); color:#fff; }
@media (max-width:782px){ .rh-sticky-whatsapp{ width:52px; height:52px; bottom:1rem; right:.9rem; } }

.rh-trust-strip{ background: var(--color-bg-alt); border-top:1px solid var(--color-border); border-bottom:1px solid var(--color-border); }
.rh-icon-box{
  text-align:center; padding:1.75rem; background:#fff; border:1px solid var(--color-border);
  border-radius: var(--radius-md); transition: all var(--transition); height:100%;
}
.rh-icon-box:hover{ transform: translateY(-4px); box-shadow: var(--shadow-card); border-color: var(--color-accent); }
.rh-icon-box h3{ font-size:1.1rem; margin:.5rem 0 .4rem; }
.rh-icon-box p{ font-size:.88rem; color: var(--color-muted); margin:0; }

.rh-collection-card{
  position:relative; border-radius: var(--radius-md); overflow:hidden; aspect-ratio:3/4;
  box-shadow: var(--shadow-card); transition: box-shadow var(--transition); display:block;
  /* 6 collections read better as 3 x 2 than 4 + 2 */
  flex: 1 1 calc(33.333% - 1.2rem) !important;
  min-width: 240px !important;
}
@media (max-width:900px){ .rh-collection-card{ flex: 1 1 calc(50% - 1rem) !important; } }
@media (max-width:560px){ .rh-collection-card{ flex: 1 1 100% !important; } }
/* Icon boxes: 3 across on desktop */
.rh-icon-box{ flex: 1 1 calc(33.333% - 1.1rem) !important; min-width:240px !important; }
@media (max-width:900px){ .rh-icon-box{ flex: 1 1 calc(50% - .8rem) !important; } }
@media (max-width:560px){ .rh-icon-box{ flex: 1 1 100% !important; } }
.rh-collection-card img{ width:100%; height:100%; object-fit:cover; transition: transform .6s ease; }
.rh-collection-card:hover img{ transform: scale(1.08); }
.rh-collection-card:hover{ box-shadow: var(--shadow-card-hover); }
.rh-collection-overlay{
  position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:1.75rem; color:#fff;
  background: linear-gradient(0deg, rgba(20,11,4,.88) 0%, rgba(20,11,4,.15) 55%, rgba(20,11,4,0) 100%);
}
.rh-collection-overlay h3{ color:#fff; margin-bottom:.3rem; }
.rh-collection-overlay p{ color:#E7D8BA; font-size:.85rem; margin-bottom:.8rem; }

.rh-testimonial-placeholder{
  border:1.5px dashed var(--color-border); border-radius: var(--radius-md);
  padding:3rem; text-align:center; color: var(--color-muted); background:#fff;
}

.wpforms-container .wpforms-form input[type=text],
.wpforms-container .wpforms-form input[type=email],
.wpforms-container .wpforms-form input[type=tel],
.wpforms-container .wpforms-form select,
.wpforms-container .wpforms-form textarea{
  border:1px solid var(--color-border) !important; border-radius: var(--radius-sm) !important;
  background:#fff !important; color: var(--color-text) !important; padding:.75rem .9rem !important;
  font-family: var(--font-body) !important; font-size:1rem !important;
}
.wpforms-container .wpforms-form input:focus,
.wpforms-container .wpforms-form select:focus,
.wpforms-container .wpforms-form textarea:focus{
  border-color: var(--color-secondary) !important; outline:none !important;
  box-shadow:0 0 0 3px rgba(122,30,34,.12) !important;
}
.wpforms-container .wpforms-form label.wpforms-field-label{
  font-family: var(--font-body) !important; font-weight:600 !important; font-size:.85rem !important;
  color: var(--color-text) !important;
}
.wpforms-container .wpforms-form button[type=submit]{
  background: var(--color-secondary) !important; border:1.5px solid var(--color-secondary) !important;
  color:#fff !important; font-family: var(--font-body) !important; font-weight:600 !important;
  padding:.85em 1.9em !important; border-radius: var(--radius-sm) !important; transition: all var(--transition) !important;
}
.wpforms-container .wpforms-form button[type=submit]:hover{
  background:#5E1519 !important; border-color:#5E1519 !important; transform: translateY(-2px);
}

.woof_container{ background:#fff; border:1px solid var(--color-border); border-radius: var(--radius-md); padding:1rem; margin-bottom:1rem; }
.woof_container h4, .woof_container_inner h4{
  font-family: var(--font-body) !important; font-size:.85rem !important; text-transform:uppercase;
  letter-spacing:.06em; color: var(--color-primary-dark) !important; margin-bottom:.6rem !important;
}
.woof_list label, .woof_container label{ font-size:.88rem; color: var(--color-text); }
.woof_submit_search_form_container input[type=button]{
  background: var(--color-secondary) !important; color:#fff !important; border-radius: var(--radius-sm) !important;
  border:1.5px solid var(--color-secondary) !important; font-weight:600 !important;
}

.tinv-wishlist .tinvwl_add_to_wishlist_button,
.tinvwl_add_to_wishlist_button{
  color: var(--color-secondary) !important; font-family: var(--font-body) !important; font-size:.8rem !important;
}
.woocommerce ul.products li.product .tinv-wishlist{ padding:0 1rem; margin-bottom:.5rem; }
.tinv-wishlist a.button, .tinv-wishlist button.button{
  background: var(--color-secondary) !important; color:#fff !important; border-radius: var(--radius-sm) !important;
}

.woocommerce .woocommerce-breadcrumb, .ast-breadcrumbs-wrapper{
  font-size:.78rem; color: var(--color-muted); padding:1rem 0;
}
.woocommerce .woocommerce-breadcrumb a{ color: var(--color-muted); }
.woocommerce .woocommerce-breadcrumb a:hover{ color: var(--color-secondary); }

.woocommerce-message, .woocommerce-info, .woocommerce-error{
  border-top-color: var(--color-secondary); background: var(--color-bg-alt); font-size:.92rem;
}
.woocommerce-message::before, .woocommerce-info::before{ color: var(--color-secondary); }

.rh-footer{ background: var(--color-primary-dark); color:#CBB68C; }
.rh-footer h4{ color:#FBF6EC; font-size:.85rem; text-transform:uppercase; letter-spacing:.08em; font-family: var(--font-body); font-weight:600; }
.rh-footer a{ color:#CBB68C; font-size:.88rem; }
.rh-footer a:hover{ color: var(--color-accent-light); }

/* Astra prints its own product category label; we already render .rh-cat-label */
.woocommerce ul.products li.product .ast-woo-product-category{ display:none !important; }
/* Keep the wishlist link tidy inside the card */
.woocommerce ul.products li.product .tinv-wrapper{ padding:0 1rem 1rem; display:block; }

/* ==========================================================================
   Header corrections - hard overrides so the header is right regardless of
   Astra's settings pipeline.
   ========================================================================== */
.site-header .custom-logo,
.ast-site-identity .custom-logo,
.site-logo-img img,
.custom-logo-link img{
  width:110px !important; height:110px !important; max-width:110px !important;
  object-fit:contain; border-radius:50%;
}
@media (max-width:921px){
  .site-header .custom-logo, .custom-logo-link img{ width:74px !important; height:74px !important; max-width:74px !important; }
}
@media (max-width:544px){
  .site-header .custom-logo, .custom-logo-link img{ width:60px !important; height:60px !important; max-width:60px !important; }
}

/* The logo already contains the business name - hide the duplicated text */
.ast-site-title-wrap, .site-title, .site-description{ display:none !important; }

/* Keep the header compact */
.ast-primary-header-bar, .main-header-bar{ padding-top:.35rem !important; padding-bottom:.35rem !important; min-height:0 !important; }
.ast-primary-header-bar .site-branding{ margin-right:1.5rem; }

/* Navigation in brand colours, on one line */
.main-header-menu .menu-link,
.main-navigation .menu-link,
.ast-builder-menu .menu-link{
  color: var(--color-text) !important;
  font-family: var(--font-body) !important;
  font-size:.92rem !important;
  font-weight:500 !important;
  letter-spacing:.01em;
  padding-left:.85rem !important; padding-right:.85rem !important;
  white-space:nowrap;
}
.main-header-menu .menu-link:hover,
.main-header-menu .current-menu-item > .menu-link,
.main-header-menu .current_page_item > .menu-link,
.ast-builder-menu .menu-link:hover{
  color: var(--color-secondary) !important;
}
.main-header-menu .sub-menu .menu-link{ white-space:nowrap; font-size:.88rem !important; }
.main-header-menu > .menu-item > .menu-link{ position:relative; }
.main-header-menu > .menu-item > .menu-link::after{
  content:''; position:absolute; left:.85rem; right:.85rem; bottom:.25rem; height:2px;
  background: var(--color-secondary); transform: scaleX(0); transform-origin:left; transition: transform var(--transition);
}
.main-header-menu > .menu-item > .menu-link:hover::after,
.main-header-menu > .current-menu-item > .menu-link::after{ transform: scaleX(1); }

/* Header cart + search icons in brand colour */
.ast-header-woo-cart .ast-addon-cart-wrap,
.ast-header-search .astra-search-icon,
.ast-header-woo-cart .ast-cart-menu-wrap{ color: var(--color-primary-dark) !important; }
.ast-cart-menu-wrap .count, .ast-menu-cart-with-border .ast-addon-cart-wrap{ border-color: var(--color-border) !important; }
.ast-site-header-cart .cart-container .count{ background: var(--color-secondary) !important; color:#fff !important; }

/* Announcement bar must not sit under a sticky header */
.rh-announcement{ position:relative; z-index:1; }

/* ---------- Filter bar ---------- */
.rh-filter-bar{ background:#fff; border:1px solid var(--color-border); border-radius: var(--radius-md); padding:1rem 1.25rem; margin-bottom:1.75rem; }
.rh-filter-summary{ cursor:pointer; font-family: var(--font-body); font-weight:600; font-size:.9rem; letter-spacing:.06em; text-transform:uppercase; color: var(--color-primary-dark); }
.rh-filter-grid{ display:grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap:1.5rem; margin-top:1.25rem; }
.rh-filter-col ul{ list-style:none; margin:0; padding:0; max-height:190px; overflow-y:auto; }
.rh-filter-col li{ font-size:.86rem; padding:.18rem 0; }
.rh-filter-col a{ color: var(--color-text); }
.rh-filter-col a:hover{ color: var(--color-secondary); }
.rh-filter-col .count{ color: var(--color-muted); font-size:.76rem; }
.rh-filter-title{ font-family: var(--font-body) !important; font-size:.8rem !important; text-transform:uppercase; letter-spacing:.06em; color: var(--color-primary-dark) !important; margin:0 0 .5rem !important; }
.rh-filter-reset{ margin:1rem 0 0; font-size:.82rem; }
.rh-filter-bar .price_slider_wrapper{ margin-top:.5rem; }
.rh-filter-bar .ui-slider .ui-slider-range{ background: var(--color-secondary) !important; }
.rh-filter-bar .ui-slider .ui-slider-handle{ background: var(--color-accent) !important; }
.rh-filter-bar .price_slider_amount .button{ font-size:.78rem !important; padding:.5em 1.1em !important; }
.rh-avail-list li{ padding:.18rem 0; }
.woocommerce-widget-layered-nav-list__item.chosen a{ color: var(--color-secondary); font-weight:600; }

html, body{ overflow-x:hidden; max-width:100%; }
img{ max-width:100%; height:auto; }

@media (max-width:720px){
  .woocommerce ul.products li.product .button,
  .woocommerce ul.products li.product .rh-btn{ width: calc(100% - 2rem); font-size:.78rem; padding:.6em .5em; }
  .rh-pdp-actions .rh-btn{ min-width:100%; }
  .rh-section{ padding:3rem 0; }
}
