/*
Theme Name: Softdeft Mart
Theme URI: https://softdeft.com
Author: Softdeft
Description: A tropical-minimal WooCommerce theme for pure Bangladeshi natural products. Clean, elegant, fresh.
Version: 3.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: softdeft-mart
Tags: e-commerce, woocommerce, organic, tropical, minimal, clean, food

WooCommerce: true
*/


*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  /* Tropical minimal palette */
  --os-teal:      #0A6B5E;   /* deep tropical teal */
  --os-teal-lt:   #1A8A7A;   /* lighter teal */
  --os-coral:     #E8614A;   /* ripe papaya coral */
  --os-coral-lt:  #F28070;   /* soft coral */
  --os-leaf:      #2D6A4F;   /* deep palm green */
  --os-mint:      #B7E4C7;   /* pale mint */
  --os-sand:      #FBF8F3;   /* warm coconut white */
  --os-pearl:     #FFFFFF;
  --os-linen:     #F5F0E8;   /* warm off-white */
  --os-stone:     #EDE8E0;   /* light stone */
  --os-ink:       #1A1A1A;   /* near-black */
  --os-charcoal:  #3A3A3A;
  --os-muted:     #7A7570;
  --os-border:    #E5DED4;

  /* Typography */
  --os-siliguri: "Hind Siliguri", sans-serif;
  --os-serif: 'Poppins', 'Hind Siliguri', sans-serif;
  --os-sans:  'Poppins', 'Hind Siliguri', sans-serif;

  /* Geometry */
  --os-radius:    10px;
  --os-radius-lg: 18px;
  --os-radius-xl: 28px;
  --os-pill:      100px;

  /* Depth */
  --os-shadow-xs: 0 1px 8px rgba(10,107,94,0.06);
  --os-shadow-sm: 0 2px 14px rgba(10,107,94,0.08);
  --os-shadow:    0 4px 24px rgba(10,107,94,0.10);
  --os-shadow-lg: 0 12px 48px rgba(10,107,94,0.15);

  --os-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --os-transition: all 0.26s var(--os-ease);
}

html { scroll-behavior: smooth; font-size: 16px; }

body {
  font-family: var(--os-sans);
  background: var(--os-sand);
  color: var(--os-ink);
  line-height: 1.65;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a   { color: var(--os-teal); text-decoration: none; transition: var(--os-transition); }
a:hover { color: var(--os-coral); }
ul  { list-style: none; }

h1, h2, h3, h4 {
  font-family: var(--os-serif);
  line-height: 1.15;
  color: var(--os-ink);
  font-weight: 600;
}
h1 { font-size: clamp(32px, 5vw, 60px); }
h2 { font-size: clamp(24px, 3.5vw, 42px); }
h3 { font-size: clamp(18px, 2vw, 24px); }
p  { color: var(--os-muted); font-weight: 400; font-size: 15px; line-height: 1.75; }
em { font-style: italic; }

.os-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
}

/* ── BUTTONS ── */
.os-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--os-sans);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.3px;
  padding: 13px 28px;
  border-radius: var(--os-pill);
  border: 1.5px solid transparent;
  cursor: pointer;
  transition: var(--os-transition);
  text-decoration: none;
  white-space: nowrap;
}
.os-btn-primary {
  background: var(--os-teal);
  color: #fff;
  border-color: var(--os-teal);
}
.os-btn-primary:hover {
  background: var(--os-leaf);
  border-color: var(--os-leaf);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(10,107,94,0.3);
}
.os-btn-outline {
  background: transparent;
  color: var(--os-teal);
  border-color: var(--os-teal);
}
.os-btn-outline:hover {
  background: var(--os-teal);
  color: #fff;
  transform: translateY(-2px);
}
.os-btn-coral {
  background: var(--os-coral);
  color: #fff;
  border-color: var(--os-coral);
}
.os-btn-coral:hover {
  background: #C9452E;
  border-color: #C9452E;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(232,97,74,0.3);
}
.os-btn-ghost {
  background: rgba(255,255,255,0.12);
  color: #fff;
  border-color: rgba(255,255,255,0.3);
  backdrop-filter: blur(6px);
}
.os-btn-ghost:hover { background: rgba(255,255,255,0.22); color: #fff; border-color: rgba(255,255,255,0.6); }
.os-btn-lg { padding: 16px 36px; font-size: 15px; }

/* WooCommerce button overrides */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  font-family: var(--os-sans) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  border-radius: var(--os-pill) !important;
  transition: var(--os-transition) !important;
  background: var(--os-teal) !important;
  color: #fff !important;
  border: 1.5px solid var(--os-teal) !important;
  padding: 11px 24px !important;
  letter-spacing: 0.2px !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: var(--os-leaf) !important;
  border-color: var(--os-leaf) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
#place_order {
  background: var(--os-teal) !important;
  border-color: var(--os-teal) !important;
  color: #fff !important;
}
.woocommerce .wc-proceed-to-checkout .checkout-button {
  background: var(--os-coral) !important;
  border-color: var(--os-coral) !important;
  color: #fff !important;
  padding: 16px !important;
  font-size: 15px !important;
}

/* ── INPUTS ── */
input, textarea, select { font-family: var(--os-sans); font-size: 14px; color: var(--os-ink); }
input[type="text"], input[type="email"], input[type="search"],
input[type="password"], input[type="number"], textarea, select {
  width: 100%;
  padding: 12px 18px;
  border: 1.5px solid var(--os-border);
  border-radius: var(--os-radius);
  background: var(--os-pearl);
  font-weight: 400;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--os-teal);
  box-shadow: 0 0 0 3px rgba(10,107,94,0.08);
}

/* ── WOO PRODUCT CARDS ── */
.woocommerce ul.products li.product {
  background: var(--os-pearl) !important;
  border-radius: var(--os-radius-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--os-shadow-xs) !important;
  border: 1px solid var(--os-border) !important;
  transition: var(--os-transition) !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--os-shadow-lg) !important;
}
.woocommerce ul.products li.product a img {
  width: 100% !important; height: 220px !important;
  object-fit: cover !important; transition: transform 0.4s ease !important;
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.04) !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--os-serif) !important;
  font-size: 17px !important; font-weight: 600 !important;
  color: var(--os-ink) !important; padding: 4px 18px 0 !important;
}
.woocommerce ul.products li.product .price {
  color: var(--os-teal) !important; font-size: 17px !important;
  font-weight: 700 !important; padding: 4px 18px !important; font-family: var(--os-sans) !important;
}
.woocommerce ul.products li.product .price del { color: var(--os-muted) !important; font-size: 13px !important; }
.woocommerce ul.products li.product .button {
  margin: 8px 18px 18px !important; width: calc(100% - 36px) !important;
  text-align: center !important; background: var(--os-teal) !important;
  color: #fff !important; border-radius: var(--os-pill) !important;
  font-size: 13px !important; padding: 10px !important; border-color: var(--os-teal) !important;
}
.woocommerce ul.products li.product .button:hover { background: var(--os-leaf) !important; border-color: var(--os-leaf) !important; }
.woocommerce ul.products li.product .onsale, .woocommerce span.onsale {
  background: var(--os-coral) !important; color: #fff !important;
  border-radius: 6px !important; font-weight: 600 !important; font-size: 11px !important;
  top: 12px !important; left: 12px !important; right: auto !important;
  min-height: auto !important; min-width: auto !important; padding: 3px 10px !important;
}
.woocommerce .star-rating { color: var(--os-coral) !important; }
.woocommerce-message { border-top-color: var(--os-teal) !important; background: #f0faf8 !important; border-radius: var(--os-radius) !important; }
.woocommerce-error   { border-top-color: var(--os-coral) !important; background: #fdf3f1 !important; border-radius: var(--os-radius) !important; }
.woocommerce-breadcrumb { font-size: 13px !important; color: var(--os-muted) !important; padding: 14px 0 !important; margin: 0 !important; }
.woocommerce-breadcrumb a { color: var(--os-teal) !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
  border-color: var(--os-border) !important; color: var(--os-charcoal) !important;
  font-family: var(--os-sans) !important; border-radius: var(--os-radius) !important; font-weight: 600 !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--os-teal) !important; color: #fff !important; border-color: var(--os-teal) !important;
}





/* Tabs */



/* My account */
.woocommerce-MyAccount-navigation ul li a {
  display: block; padding: 10px 16px; border-radius: var(--os-radius);
  font-weight: 600; color: var(--os-charcoal); background: var(--os-pearl);
  margin-bottom: 6px; border: 1.5px solid var(--os-border); font-family: var(--os-sans); transition: var(--os-transition);
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover { background: var(--os-teal); color: #fff; border-color: var(--os-teal); }

/* WC wrapper */
.os-woo-layout { padding: 24px 0 72px; }

/* Utilities */
.os-accent-teal  { color: var(--os-teal); }
.os-accent-coral { color: var(--os-coral); }
.os-text-muted   { color: var(--os-muted); }
.os-no-scroll    { overflow: hidden !important; }

@media (max-width: 768px) { .os-container { padding: 0 20px; } }
