/* =====================================================
   Dab Ghor theme — WordPress/WooCommerce/CF7 integration
   (layered on top of assets/css/style.css)
   ===================================================== */

/* ---------- Generic page (page.php) ---------- */
.page-wrap{padding:150px 0 96px;}
.page-header{margin-bottom:32px;}
.page-title{font-size:clamp(1.8rem,3.6vw,2.6rem);}
.page-content{max-width:900px;margin:0 auto;padding:0 24px;color:var(--muted);}
.page-content img{border-radius:var(--radius);}
.page-content a{color:var(--green);text-decoration:underline;}

/* ---------- Footer widgets ---------- */
.footer-widget h4{color:#fff;margin-bottom:14px;font-size:1rem;}
.footer-widget ul{list-style:none;}
.footer-widget li{margin-bottom:10px;}
.footer-widget a{display:inline-block;color:#cfe3c1;transition:color .2s;text-decoration:none;}
.footer-widget a:hover{color:#fff;}
.footer-widget p{color:#cfe3c1;margin-bottom:10px;}

/* ---------- Contact Form 7 (order section) ---------- */
.order-form-wrap{margin-top:28px;padding-top:24px;border-top:1px solid rgba(31,77,26,.12);}
.order-form-label{font-weight:700;color:var(--green-dark);margin-bottom:12px;}
.wpcf7-form label{display:block;margin-bottom:14px;font-weight:600;color:var(--green-dark);font-size:.92rem;}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea{
  display:block;width:100%;margin-top:6px;
  font-family:var(--font-body);border:2px solid var(--green-soft);border-radius:12px;
  padding:11px 14px;font-size:.95rem;color:var(--ink);resize:vertical;
  transition:border-color .2s ease;
}
.wpcf7-form input:focus,.wpcf7-form textarea:focus{outline:none;border-color:var(--green-bright);}
.wpcf7-form .wpcf7-submit{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 28px;border-radius:999px;border:none;cursor:pointer;
  font-weight:600;font-size:1rem;font-family:var(--font-body);
  background:linear-gradient(135deg,var(--green-bright),var(--green));
  color:#fff;box-shadow:0 10px 24px rgba(79,143,31,.35);
  transition:transform .25s ease, box-shadow .25s ease;
}
.wpcf7-form .wpcf7-submit:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(79,143,31,.45);}
.wpcf7-form .wpcf7-spinner{margin-left:10px;}
.wpcf7-response-output{
  margin-top:16px !important;border-radius:12px !important;
  padding:12px 16px !important;font-size:.9rem;
}
.wpcf7-not-valid-tip{color:#c94f4f;font-size:.82rem;font-weight:500;margin-top:4px;}

/* ---------- WooCommerce: shared ---------- */
.woocommerce{position:relative;}
.woocommerce-wrap{padding:150px 0 96px;}
.woocommerce-wrap .container{max-width:1180px;margin:0 auto;padding:0 24px;}
.woocommerce-breadcrumb{
  display:block;margin-bottom:24px;color:var(--muted);font-size:.9rem;
}
.woocommerce-breadcrumb a{color:var(--green);text-decoration:none;}
.woocommerce-products-header__title.page-title{
  margin-bottom:32px;font-size:clamp(1.8rem,3.6vw,2.4rem);
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button{
  display:inline-flex;align-items:center;gap:8px;
  background:linear-gradient(135deg,var(--green-bright),var(--green)) !important;
  color:#fff !important;border:none !important;border-radius:999px !important;
  padding:12px 24px !important;font-weight:600 !important;font-family:var(--font-body) !important;
  box-shadow:0 8px 18px rgba(79,143,31,.3);transition:transform .25s ease, box-shadow .25s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{
  transform:translateY(-2px);box-shadow:0 12px 24px rgba(79,143,31,.4);
  background:linear-gradient(135deg,var(--green),var(--green-dark)) !important;
}
.woocommerce a.added_to_cart{color:var(--green) !important;font-weight:600;margin-left:10px;}

.woocommerce ::placeholder{color:var(--muted);opacity:.7;}
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="password"],
.woocommerce input[type="number"],
.woocommerce textarea,
.woocommerce select{
  border:2px solid var(--green-soft) !important;border-radius:12px !important;
  padding:11px 14px !important;font-family:var(--font-body) !important;
  background:#fff !important;
}
.woocommerce input:focus,.woocommerce textarea:focus,.woocommerce select:focus{
  outline:none;border-color:var(--green-bright) !important;
}

.woocommerce-message,.woocommerce-info{
  border-top-color:var(--green-bright) !important;background:var(--green-soft) !important;
  border-radius:12px;padding:16px 20px !important;
}
.woocommerce-message::before,.woocommerce-info::before{color:var(--green) !important;}
.woocommerce-error{border-top-color:#c94f4f !important;border-radius:12px;}

/* ---------- WooCommerce: shop / product loop ---------- */
.woocommerce ul.products{
  display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:28px !important;
  list-style:none !important;margin:0 !important;padding:0 !important;
  float:none !important;width:auto !important;
}
/* WooCommerce's own float-era clearfix (content:" "; display:table) becomes a
   real grid item once the parent is display:grid, silently eating column 1. */
.woocommerce ul.products::before,
.woocommerce ul.products::after{content:none !important;display:none !important;}
.woocommerce ul.products li.product{
  display:block !important;list-style:none !important;list-style-type:none !important;
  width:100% !important;margin:0 !important;
  background:#fff;border-radius:32px 32px 32px 8px;padding:24px 22px;
  box-shadow:0 14px 34px rgba(31,77,26,.1);border:1px solid rgba(31,77,26,.06);
  transition:box-shadow .35s ease, transform .3s ease;
  text-align:center;
}
.woocommerce ul.products li.product:hover{
  box-shadow:0 26px 50px rgba(31,77,26,.2);transform:translateY(-6px);
}
.woocommerce ul.products li.product a img{
  border-radius:24px 24px 24px 6px !important;margin-bottom:16px !important;
  aspect-ratio:1/1;object-fit:cover;width:100%;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--font-head);color:var(--green-dark);font-size:1.08rem;margin:0 0 6px;
}
.woocommerce ul.products li.product .price{
  font-family:var(--font-display);font-style:italic;font-weight:600;color:var(--terracotta);
  font-size:1.3rem;display:block;margin-bottom:14px;
}
.woocommerce ul.products li.product .price del{
  font-family:var(--font-body);font-style:normal;font-weight:500;color:var(--muted);
  opacity:1;font-size:.85rem;
}
.woocommerce ul.products li.product .price ins{text-decoration:none;}
.woocommerce ul.products li.product .button{width:100%;justify-content:center;}
.woocommerce span.onsale{
  background:linear-gradient(135deg,var(--terracotta),#a6572c) !important;
  border-radius:999px !important;font-weight:700 !important;
  min-height:auto !important;min-width:auto !important;
  padding:5px 14px !important;top:14px !important;left:14px !important;
  font-size:.72rem !important;line-height:1.4 !important;
}

.woocommerce-result-count,.woocommerce-ordering{margin-bottom:24px;color:var(--muted);}

/* ---------- WooCommerce: single product ---------- */
.woocommerce div.product .product_title{font-size:clamp(1.6rem,3vw,2.1rem);}
.woocommerce div.product p.price,.woocommerce div.product span.price{
  color:var(--terracotta);font-family:var(--font-display);font-style:italic;font-size:1.5rem;
}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--muted);}
.woocommerce div.product form.cart .quantity input{width:70px !important;text-align:center;}

/* ---------- WooCommerce: single product layout ---------- */
.woocommerce div.product{
  display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;
  margin-bottom:56px;
}
.woocommerce div.product .woocommerce-product-gallery{position:relative;}
.woocommerce div.product .woocommerce-product-gallery__wrapper{
  border-radius:28px;overflow:hidden;box-shadow:0 20px 44px rgba(31,77,26,.16);
  border:6px solid #fff;
}
.woocommerce div.product .woocommerce-product-gallery img{border-radius:0;}
.woocommerce div.product .flex-control-thumbs{margin-top:14px;gap:10px;display:flex;}
.woocommerce div.product .flex-control-thumbs li{list-style:none;}
.woocommerce div.product .flex-control-thumbs img{
  border-radius:12px;border:2px solid transparent;transition:border-color .2s ease;cursor:pointer;
}
.woocommerce div.product .flex-control-thumbs img.flex-active{border-color:var(--green-bright);}
.woocommerce div.product .summary{padding-top:4px;}
.woocommerce div.product .woocommerce-product-details__short-description{margin:14px 0 22px;}
.woocommerce div.product .stock{
  display:inline-block;margin:10px 0;padding:5px 14px;border-radius:999px;
  font-weight:700;font-size:.85rem;
}
.woocommerce div.product .stock.in-stock{background:var(--green-soft);color:var(--green-dark);}
.woocommerce div.product .stock.out-of-stock{background:#fde3e3;color:#c94f4f;}
.woocommerce div.product .product_meta{
  margin-top:20px;padding-top:16px;border-top:1px solid var(--green-soft);
  color:var(--muted);font-size:.88rem;
}
.woocommerce div.product .product_meta a{color:var(--green);}

/* Star ratings */
.woocommerce .star-rating{color:var(--gold);}
.woocommerce .star-rating span::before{color:var(--gold);}
.woocommerce p.stars a{color:var(--gold);}

/* Tabs (description / reviews) */
.woocommerce-tabs{grid-column:1 / -1;margin-top:24px;}
.woocommerce-tabs ul.tabs{
  display:flex;gap:8px;border-bottom:2px solid var(--green-soft);margin-bottom:28px;
  list-style:none;padding:0;
}
.woocommerce-tabs ul.tabs li{list-style:none;margin:0;}
.woocommerce-tabs ul.tabs li a{
  display:inline-block;padding:12px 22px;font-weight:700;color:var(--muted);
  border-radius:12px 12px 0 0;text-decoration:none;transition:color .2s ease,background .2s ease;
}
.woocommerce-tabs ul.tabs li.active a{color:var(--green-dark);background:var(--green-soft);}
.woocommerce-tabs .panel{max-width:760px;color:var(--muted);}
.woocommerce-tabs .panel h2{margin-bottom:14px;font-size:1.3rem;}
.woocommerce #reviews .comment-form-rating label{font-weight:600;color:var(--green-dark);}
.woocommerce #review_form textarea{width:100%;}
.woocommerce #reviews #comments ol.commentlist{list-style:none;padding:0;}
.woocommerce #reviews #comments li{margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--green-soft);}

/* Related / upsell / cross-sell product rows */
.related.products,.upsells.products,.cross-sells{
  grid-column:1 / -1;margin-top:40px;padding-top:40px;border-top:1px solid var(--green-soft);
}
.related.products > h2,.upsells.products > h2,.cross-sells > h2{
  text-align:center;font-size:clamp(1.4rem,2.8vw,1.9rem);margin-bottom:32px;
}

/* ---------- My Account ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;}
.woocommerce-account .woocommerce-MyAccount-navigation{
  background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);
  padding:10px;margin-bottom:32px;
}
.woocommerce-account .woocommerce-MyAccount-navigation li{
  border-bottom:1px solid var(--green-soft);
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:none;}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block;padding:12px 16px;font-weight:600;color:var(--green-dark);border-radius:10px;
  transition:background .2s ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--green-soft);}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
  background:linear-gradient(135deg,var(--green-bright),var(--green));color:#fff;
}
.woocommerce-account .woocommerce-MyAccount-content{
  background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:32px;
}
.woocommerce-account fieldset{border:2px solid var(--green-soft);border-radius:12px;padding:18px;margin-top:20px;}
.woocommerce-account fieldset legend{padding:0 10px;font-weight:700;color:var(--green-dark);}
.woocommerce-MyAccount-content .addresses .title h3{font-size:1.05rem;}
.woocommerce-orders-table__cell-order-status{font-weight:700;color:var(--green);}
@media (max-width:760px){
  .woocommerce-account .addresses .u-columns{display:block;}
}

/* ---------- Login / register forms ---------- */
.woocommerce-form-login,.woocommerce-form-register{max-width:460px;}
.woocommerce-form-row label{display:block;margin-bottom:6px;font-weight:600;color:var(--green-dark);}
.woocommerce-form-login__rememberme{font-weight:500 !important;color:var(--muted);}
.u-columns{display:flex;gap:32px;flex-wrap:wrap;}
.u-columns .col-1,.u-columns .col-2{flex:1;min-width:260px;}
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error{margin-bottom:24px;}
.lost_reset_password .form-row{margin-bottom:16px;}

/* ---------- 404 ---------- */
.error-404-wrap{
  min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:60px 24px;
}
.error-404-wrap .e404-code{
  font-family:var(--font-display);font-style:italic;font-weight:600;
  font-size:clamp(4rem,12vw,7rem);line-height:1;
  background:linear-gradient(90deg,var(--green-bright),var(--gold));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  margin-bottom:8px;
}
.error-404-wrap .e404-emoji{font-size:3rem;margin-bottom:18px;}
.error-404-wrap h1{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:12px;}
.error-404-wrap p{color:var(--muted);max-width:460px;margin-bottom:28px;}
.error-404-wrap .e404-actions{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;}

/* ---------- WooCommerce: cart & checkout tables ---------- */
.woocommerce table.shop_table{
  border-radius:var(--radius);overflow:hidden;border:1px solid var(--green-soft) !important;
  border-collapse:separate !important;
}
.woocommerce table.shop_table th{
  background:var(--green-soft);color:var(--green-dark);font-weight:700;
}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{
  padding:14px 16px !important;border-top:1px solid rgba(31,77,26,.08) !important;
}
.woocommerce-cart-form .product-remove a{color:#c94f4f !important;}
.woocommerce-checkout #payment{background:var(--green-soft) !important;border-radius:var(--radius) !important;}
.woocommerce-checkout #payment ul.payment_methods{border-bottom-color:rgba(31,77,26,.15) !important;}
.woocommerce-checkout #payment div.payment_box{background:#fff !important;border-radius:12px;}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#fff !important;}
.woocommerce-Price-amount{color:var(--terracotta);font-weight:700;}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr) !important;}
  .woocommerce div.product{grid-template-columns:1fr;}
  .related.products ul.products,.upsells.products ul.products{grid-template-columns:repeat(2,1fr) !important;}
}
@media (max-width:760px){
  .woocommerce-page .site-main,.woocommerce-page main,.page-wrap{padding-top:110px;}
  .woocommerce-account .woocommerce-MyAccount-content{padding:20px;}
  .woocommerce-tabs ul.tabs{flex-wrap:wrap;}
}
@media (max-width:520px){
  .woocommerce ul.products{grid-template-columns:1fr !important;}
  .related.products ul.products,.upsells.products ul.products{grid-template-columns:1fr !important;}
}
