/*
Theme Name: Hello Elementor Child
Theme URI: https://www.doughpecafe.com
Description: Child theme of Hello Elementor for Doughpe Cafe. All custom CSS and code for the site lives here so Hello Elementor parent updates stay safe.
Author: Aim High Tech
Author URI: https://aimhigh.tech
Template: hello-elementor
Version: 1.0.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hello-elementor-child
*/

/* === Mobile polish (max-width: 767px) — added Oct 16 2026 ===
   Corrective layer for the Elementor V4 build: sections were composed
   desktop-first; these rules adapt layout at phone widths. */
@media (max-width: 767px) {
  .elementor [data-id="575687ef"] { font-size: 11px; letter-spacing: 0.12em; line-height: 1.5; }
  .elementor [data-id="f63cc29"] { padding: 12px 16px; gap: 10px; }
  .elementor [data-id="30a34291"] { width: 108px; }
  .elementor [data-id="1887e07a"] { padding: 10px 15px; font-size: 13px; white-space: nowrap; }
  .elementor [data-id="4faeaa3b"] { padding: 54px 20px 60px; min-height: 0; }
  .elementor [data-id="79ac5b18"] { background-color: rgba(250,245,236,0.88); padding: 26px 22px; border-radius: 20px; }
  .elementor [data-id="4c9054e"] { font-size: 2.85rem; }
  .elementor [data-id="7e3ec00f"] { font-size: 2.5rem; }
  .elementor [data-id="2d9fb78"] { font-size: 16px; }
  .elementor [data-id="7297124d"] { margin-top: 22px; }
  .elementor [data-id="752cc26f"] { padding: 54px 20px; }
  .elementor [data-id="3c647372"] { margin-bottom: 30px; }
  .elementor [data-id="3ab23eb8"] { gap: 18px; }
  .elementor [data-id="644a42aa"] { padding: 54px 20px; }
  .elementor [data-id="53831b24"] { margin-bottom: 26px; }
  .elementor [data-id="18c954b8"] { padding: 16px 2px; gap: 14px; }
  .elementor [data-id="508ad0b6"] { font-size: 30px; min-width: 42px; }
  .elementor [data-id="722d0b40"] { font-size: 1.12rem; }
  .elementor [data-id="bbdd7d3"] { font-size: 13.5px; }
  .elementor [data-id="652365a5"] { padding: 7px 11px; font-size: 15px; }
  .elementor [data-id="6f4c7995"] { padding: 16px 2px; gap: 14px; }
  .elementor [data-id="4e07afb3"] { font-size: 30px; min-width: 42px; }
  .elementor [data-id="690f84ef"] { font-size: 1.12rem; }
  .elementor [data-id="5adf349c"] { font-size: 13.5px; }
  .elementor [data-id="1fc38b75"] { padding: 7px 11px; font-size: 15px; }
  .elementor [data-id="66c555b8"] { padding: 16px 2px; gap: 14px; }
  .elementor [data-id="d966f50"] { font-size: 30px; min-width: 42px; }
  .elementor [data-id="6cdf1f7a"] { font-size: 1.12rem; }
  .elementor [data-id="4e986608"] { font-size: 13.5px; }
  .elementor [data-id="ce82dfb"] { padding: 7px 11px; font-size: 15px; }
  .elementor [data-id="6d9416fc"] { padding: 16px 2px; gap: 14px; }
  .elementor [data-id="d16b790"] { font-size: 30px; min-width: 42px; }
  .elementor [data-id="4be8687a"] { font-size: 1.12rem; }
  .elementor [data-id="7b9b43ff"] { font-size: 13.5px; }
  .elementor [data-id="682976e9"] { padding: 7px 11px; font-size: 15px; }
  .elementor [data-id="75147439"] { padding: 16px 2px; gap: 14px; }
  .elementor [data-id="2cdde671"] { font-size: 30px; min-width: 42px; }
  .elementor [data-id="1a646ccd"] { font-size: 1.12rem; }
  .elementor [data-id="19b6b0e0"] { font-size: 13.5px; }
  .elementor [data-id="38b53631"] { padding: 7px 11px; font-size: 15px; }
  .elementor [data-id="1c4667b7"] { padding: 16px 2px; gap: 14px; }
  .elementor [data-id="67e6e248"] { font-size: 30px; min-width: 42px; }
  .elementor [data-id="28e11a95"] { font-size: 1.12rem; }
  .elementor [data-id="6a52618d"] { font-size: 13.5px; }
  .elementor [data-id="3e4a2ee"] { padding: 7px 11px; font-size: 15px; }
  .elementor [data-id="29af9261"] { padding: 16px 2px; gap: 14px; }
  .elementor [data-id="3b417bd9"] { font-size: 30px; min-width: 42px; }
  .elementor [data-id="3944f1e0"] { font-size: 1.12rem; }
  .elementor [data-id="61fe2cb"] { font-size: 13.5px; }
  .elementor [data-id="702165c1"] { padding: 7px 11px; font-size: 15px; }
  .elementor [data-id="5e854654"] { padding: 54px 20px; }
  .elementor [data-id="1e1ca82d"] { gap: 16px; }
  .elementor [data-id="7bb3b614"] { padding: 24px 20px; }
  .elementor [data-id="2188394c"] { font-size: 54px; }
  .elementor [data-id="23cd242a"] { padding: 24px 20px; }
  .elementor [data-id="10f44557"] { font-size: 54px; }
  .elementor [data-id="17144e51"] { padding: 24px 20px; }
  .elementor [data-id="1049f4dc"] { font-size: 54px; }
  .elementor [data-id="7246f02f"] { padding: 24px 20px; }
  .elementor [data-id="221f7156"] { font-size: 54px; }
  .elementor [data-id="680600d7"] { padding: 60px 20px; }
  .elementor [data-id="1a859405"] { padding: 54px 20px; }
  .elementor [data-id="5858d081"] { padding: 52px 20px 28px; }
}

/* === WooCommerce brand styling — added Oct 16 2026 ===
   Brings shop / product / cart / checkout / account in line with the
   Doughpe design system (cream, chocolate, raspberry, olive; Fraunces
   display + Outfit body). Cart & checkout use the classic templates. */

/* Base */
body.woocommerce-shop, body.single-product, body.woocommerce-cart,
body.woocommerce-checkout, body.woocommerce-account, body.tax-product_cat {
  background-color: #FAF5EC;
}
body.woocommerce-shop .site-main, body.single-product .site-main,
body.woocommerce-cart .site-main, body.woocommerce-checkout .site-main,
body.woocommerce-account .site-main, body.tax-product_cat .site-main {
  max-width: 1200px; margin: 0 auto; padding: 48px 24px 84px;
}
.woocommerce, .woocommerce-page { font-family: 'Outfit', sans-serif; color: #37271D; }
.woocommerce h1, .woocommerce h2, .woocommerce h3,
.woocommerce .product_title, .woocommerce .page-title {
  font-family: 'Fraunces', serif; font-weight: 800; color: #37271D; letter-spacing: -0.01em;
}
.woocommerce .page-title { font-size: clamp(2rem, 4.5vw, 3rem); margin-bottom: 10px; }

/* Breadcrumb + result count + ordering */
.woocommerce .woocommerce-breadcrumb {
  font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  color: #6B6F3F; margin-bottom: 26px;
}
.woocommerce .woocommerce-breadcrumb a { color: #6B6F3F; }
.woocommerce .woocommerce-result-count { color: rgba(55,39,29,0.65); font-size: 14px; }
.woocommerce .woocommerce-ordering select {
  font-family: 'Outfit', sans-serif; font-size: 14px; padding: 10px 12px;
  border: 1px solid #D9C6A5; border-radius: 12px; background-color: #FFFDF7; color: #37271D;
}

/* Buttons — one system everywhere */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce input.button.alt, .woocommerce #place_order, .woocommerce .checkout-button {
  background-color: #EE5D8B; color: #FFFDF7; font-family: 'Outfit', sans-serif; font-weight: 700;
  font-size: 15px; border: none; border-radius: 999px; padding: 13px 24px; line-height: 1.2;
  transition: background-color 0.18s ease, transform 0.18s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce #respond input#submit:hover, .woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover, .woocommerce #place_order:hover,
.woocommerce .checkout-button:hover {
  background-color: #37271D; color: #FFFDF7; transform: translateY(-1px);
}
.woocommerce button.button:disabled, .woocommerce button.button.disabled,
.woocommerce a.button.disabled { background-color: #D9C6A5; color: #FFFDF7; opacity: 0.75; }
/* Secondary buttons (coupon, update cart) */
.woocommerce .coupon button.button, .woocommerce button[name="update_cart"] {
  background-color: transparent; color: #37271D; border: 2px solid #37271D; padding: 11px 20px;
}
.woocommerce .coupon button.button:hover, .woocommerce button[name="update_cart"]:hover {
  background-color: #37271D; color: #FFFDF7;
}

/* Shop loop — product cards */
.woocommerce ul.products { gap: 22px; }
.woocommerce ul.products li.product {
  background-color: #FFFDF7; border: 1px solid #D9C6A5; border-radius: 20px;
  padding: 16px 16px 20px; text-align: left;
  transition: box-shadow 0.18s ease, transform 0.18s ease;
}
.woocommerce ul.products li.product:hover {
  box-shadow: 0 14px 30px rgba(55,39,29,0.10); transform: translateY(-2px);
}
.woocommerce ul.products li.product a img { border-radius: 14px; margin-bottom: 14px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 20px; line-height: 1.2; padding: 0; margin: 0 0 6px;
}
.woocommerce ul.products li.product .price {
  font-family: 'Fraunces', serif; font-weight: 700; font-size: 18px; color: #37271D; margin-bottom: 12px;
}
.woocommerce ul.products li.product .button { display: inline-block; margin-top: 4px; }
.woocommerce span.onsale {
  background-color: #6B6F3F; color: #FFFDF7; font-family: 'Outfit', sans-serif; font-weight: 700;
  font-size: 12px; letter-spacing: 0.06em; border-radius: 999px; padding: 6px 12px; min-height: 0; line-height: 1.2;
}
.woocommerce .star-rating, .woocommerce .star-rating span { color: #EE5D8B; }

/* Pagination */
.woocommerce nav.woocommerce-pagination ul { border: none; }
.woocommerce nav.woocommerce-pagination ul li { border: none; margin: 0 3px; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border: 1px solid #D9C6A5; border-radius: 999px; padding: 9px 14px; color: #37271D;
  background-color: #FFFDF7; font-weight: 600;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background-color: #EE5D8B; border-color: #EE5D8B; color: #FFFDF7;
}

/* Single product */
.single-product .product .woocommerce-product-gallery img {
  border-radius: 20px; border: 1px solid #D9C6A5;
}
.single-product .product .flex-control-thumbs li img { border-radius: 10px; }
.single-product .product_title { font-size: clamp(2rem, 4vw, 2.9rem); line-height: 1.05; margin-bottom: 12px; }
.single-product .product .price {
  font-family: 'Fraunces', serif; font-weight: 800; font-size: 28px; color: #37271D; margin-bottom: 16px;
}
.single-product .woocommerce-product-details__short-description { font-size: 17px; line-height: 1.6; }
.woocommerce .quantity .qty {
  border: 1px solid #D9C6A5; border-radius: 12px; background-color: #FFFDF7;
  padding: 11px 10px; font-family: 'Outfit', sans-serif; font-size: 15px; width: 74px;
}
.single-product .single_add_to_cart_button { padding: 15px 30px; font-size: 16px; }
.single-product .product_meta { font-size: 13px; color: rgba(55,39,29,0.65); }
.single-product .product_meta a { color: #6B6F3F; font-weight: 600; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding-left: 6px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background-color: transparent; border: none; border-radius: 0; margin: 0 8px 0 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: 'Fraunces', serif; font-weight: 700; font-size: 17px; color: rgba(55,39,29,0.55); padding: 10px 14px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background-color: transparent; border-bottom: 3px solid #EE5D8B; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #37271D; }
.woocommerce div.product .woocommerce-tabs .panel {
  background-color: #FFFDF7; border: 1px solid #D9C6A5; border-radius: 18px; padding: 28px; line-height: 1.65;
}

/* Tables (cart / orders / review) */
.woocommerce table.shop_table {
  background-color: #FFFDF7; border: 1px solid #D9C6A5; border-radius: 18px;
  border-collapse: separate; border-spacing: 0; overflow: hidden;
}
.woocommerce table.shop_table th {
  font-family: 'Fraunces', serif; font-weight: 700; font-size: 15px; color: #37271D;
  border-top: none; padding: 16px;
}
.woocommerce table.shop_table td { border-top: 1px solid #EFE6D2; padding: 16px; }
.woocommerce table.shop_table img { border-radius: 10px; }
.woocommerce a.remove { color: #EE5D8B !important; font-weight: 700; }
.woocommerce a.remove:hover { background-color: #EE5D8B; color: #FFFDF7 !important; }

/* Cart totals + checkout review cards */
.woocommerce .cart_totals, .woocommerce #order_review {
  background-color: #FFFDF7; border: 1px solid #D9C6A5; border-radius: 18px; padding: 10px 22px 22px;
}
.woocommerce .cart_totals h2, .woocommerce #order_review_heading {
  font-size: 22px; margin: 16px 0 10px;
}
.woocommerce .wc-proceed-to-checkout a.checkout-button {
  display: block; text-align: center; font-size: 17px; padding: 16px 24px;
}

/* Forms (checkout / account) */
.woocommerce form .form-row label { font-weight: 600; font-size: 14px; margin-bottom: 6px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce form .form-row select, .woocommerce .woocommerce-Input--text,
.woocommerce input.input-text {
  background-color: #FFFDF7; border: 1px solid #D9C6A5; border-radius: 12px;
  padding: 12px 14px; font-family: 'Outfit', sans-serif; font-size: 15px; color: #37271D;
}
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: #EE5D8B; outline: none; box-shadow: 0 0 0 3px rgba(238,93,139,0.18);
}
.woocommerce-checkout #payment {
  background-color: #FAF5EC; border: 1px solid #D9C6A5; border-radius: 18px;
}
.woocommerce-checkout #payment div.payment_box { background-color: #FFFDF7; border-radius: 12px; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #FFFDF7; }
.woocommerce #place_order { width: 100%; font-size: 17px; padding: 16px 24px; margin-top: 8px; }
.woocommerce-checkout h3 { font-size: 21px; margin-bottom: 12px; }

/* Notices */
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error {
  border-radius: 14px; border-top: none; font-size: 15px; padding: 14px 18px 14px 46px;
  background-color: #FFFDF7; color: #37271D; box-shadow: none; border: 1px solid #D9C6A5;
}
.woocommerce .woocommerce-message { border-left: 5px solid #6B6F3F; }
.woocommerce .woocommerce-info { border-left: 5px solid #D9C6A5; }
.woocommerce .woocommerce-error { border-left: 5px solid #C0392B; }
.woocommerce .woocommerce-message::before { color: #6B6F3F; }
.woocommerce .woocommerce-info::before { color: #6B6F3F; }

/* My Account */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li { margin-bottom: 6px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block; padding: 11px 16px; border-radius: 12px; color: #37271D; font-weight: 600;
  background-color: #FFFDF7; border: 1px solid #D9C6A5;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background-color: #EE5D8B; border-color: #EE5D8B; color: #FFFDF7;
}
.woocommerce-account .woocommerce-MyAccount-content {
  background-color: #FFFDF7; border: 1px solid #D9C6A5; border-radius: 18px; padding: 26px; line-height: 1.65;
}

/* Order received */
.woocommerce .woocommerce-order-overview {
  background-color: #FFFDF7; border: 1px solid #D9C6A5; border-radius: 18px; padding: 18px 22px;
}
.woocommerce .woocommerce-order-details h2, .woocommerce .woocommerce-customer-details h2 { font-size: 22px; }

/* Mobile tidy-ups */
@media (max-width: 767px) {
  body.woocommerce-shop .site-main, body.single-product .site-main,
  body.woocommerce-cart .site-main, body.woocommerce-checkout .site-main,
  body.woocommerce-account .site-main, body.tax-product_cat .site-main { padding: 30px 16px 60px; }
  .woocommerce div.product .woocommerce-tabs .panel { padding: 20px; }
  .woocommerce .cart_totals, .woocommerce #order_review { padding: 6px 14px 16px; }
}
