@charset "UTF-8";
/*
 Theme Name:     Caribe Azul
 Theme URI:      https://caribeazul.com
 Description:    Caribe Azul Theme (Child) – Optimized CSS
 Author:         Elegant Themes / Caribe Azul
 Author URI:     https://freelancer.com/u/cl4udio
 Template:       Divi
 Version:        1.0.1 (2025-09-11)
*/

/* =====================================================
   Global variables, fonts & base
   ===================================================== */
:root {
  --color-black: #000;
  --color-white: #fff;
  --color-gray-600: #828282;
  --font-body: 'Gotham Light', 'Gotham-Medium', 'Gotham', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --font-heading: 'Gotham Medium', 'Gotham', 'Gotham-Light', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --font-cta: 'TradeGothicLTStd-BdCn20', 'Gotham', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
}

/* Font faces (use font-display: swap to improve LCP; add WOFF2 when available) */
@font-face {
  font-family: 'Gotham Light';
  src: url("/wp-content/themes/CaribeAzul/fonts/Gotham-Light.woff2") format("woff2");
  font-weight: 300; /* light */
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Gotham Medium';
  src: url("/wp-content/themes/CaribeAzul/fonts/Gotham-Medium.woff2") format("woff2");
  font-weight: 500; /* medium */
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Gotham';
  src: url("/wp-content/themes/CaribeAzul/fonts/Gotham-Medium.woff2") format("woff2"); /* + add WOFF2 for smaller size */
  font-weight: 700; /* bold */
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Didot LT Std';
  src: url('/wp-content/themes/CaribeAzul/fonts/DidotLTStd-Italic.otf') format('opentype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'TradeGothicLTStd-BdCn20';
  src: url('/wp-content/themes/CaribeAzul/fonts/TradeGothicLTStd-BdCn20.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Base typography */
p,
#et-secondary-menu a,
#et-top-navigation a,
.et_pb_module_inner ul,
.et_pb_toggle_content.clearfix {
  font-family: var(--font-body);
  font-style: normal;
  font-size: 15px;
  line-height: 18px;
}

/* Headings */
h2 {
  font-family: var(--font-heading);
  font-style: normal;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.2;
}

h4 { font-family: 'Gotham Light'; }

h5, span.segunda-descripcion {
  font-family: 'Open Sans', Arial, sans-serif;
  font-size: 14px;
}

/* CTA & button typography */
.et_pb_button, button, .rev-btn {
  font-family: var(--font-cta);
  font-size: 18px;
  line-height: 21px;
  align-items: center;
  text-align: center;
}

/* Blockquotes */
.et-search-form, .et_mobile_menu, .footer-widget li:before, .nav li ul, blockquote { border-color: var(--color-black); }
blockquote p {
  font-family: 'Gotham' !important;
  font-weight: 300;
  font-size: 25px;
  line-height: 30px;
}

/* =====================================================
   Header & search
   ===================================================== */
#et-secondary-menu {
  float: left;
  position: absolute;
  right: 0;
  top: -4.5em;
  display: inline-flex;
  align-items: center;
}
/* Search icon in custom field */
.ds-icon-search input.et_pb_searchsubmit { padding-right: 2em; }
.ds-icon-search .et_pb_searchform:before {
  display: flex;
  content: '\55'; /* Divi icon font */
  position: absolute;
  font-family: 'ETModules';
  z-index: 999999999;
  margin: .6em;
  right: 0;
  color: var(--color-white);
  float: right;
  justify-content: center; align-items: center;
}

/* =====================================================
   WooCommerce: header cleanups
   ===================================================== */
/* Hide breadcrumb & page title from left content area when using Divi layout */
#left-area nav.woocommerce-breadcrumb,
#left-area h1.woocommerce-products-header__title.page-title { display: none !important; }
/* Hide result count in catalog */
p.woocommerce-result-count { display: none !important; }

/* =====================================================
   Mega Menu (desktop)
   ===================================================== */
@media (min-width: 981px) {
  /* Active/ancestor states */
  #top-menu li.current-menu-ancestor>a { color: #fff !important; font-weight: 700 !important; }
  #top-menu li.current-menu-item>a { color: #000 !important; font-weight: 700 !important; }

  /* Dropdown animation (uses Divi's Grow keyframes) */
  .et_primary_nav_dropdown_animation_expand #et-top-navigation ul li:hover>ul,
  .et_secondary_nav_dropdown_animation_expand #et-secondary-nav li:hover>ul {
    -webkit-animation: Grow .05s ease-in-out !important;
            animation: Grow .05s ease-in-out !important;
  }

  /* Submenu brands section as grid (scoped to specific item id) */
  li.mega-menu.menu-item-2157 ul.sub-menu { display: grid; }

  /* Fixed menu (on scroll) */
  .et-fixed-header #top-menu li.current-menu-ancestor>a { color: #fff !important; font-weight: 700 !important; }
  .et-fixed-header #top-menu li.current-menu-item>a { color: #000 !important; font-weight: 700 !important; }
}

/* =====================================================
   Product catalog grid & cards
   ===================================================== */
/* 4-up grid with small gutters */
.woocommerce ul.products li.product {
  margin: 0 1% 2.992em 0;
  padding: 0;
  width: 24%;
}

/* Titles */
h2.woocommerce-loop-product__title {
  text-transform: uppercase;
  font-size: 12px !important;
}

/* Price styles */
.woocommerce ul.products li.product .price { display: inline-flex; }
span.woocommerce-Price-amount.amount {
  border-left: 3px solid var(--color-black);
  padding: 5px .2em;
  font-family: 'Gotham';
  color: var(--color-black);
  font-size: 12px;
  font-weight: 700;
}
ul.woocommerce-error span.woocommerce-Price-amount.amount { color: #fff; font-size: initial; }
.woocommerce ul.products li.product .price del { display: none; }

/* Catalog add-to-cart buttons */
.woocommerce ul.products li.product .button {
  float: right;
  margin-top: 2px;
  padding: .1em 1em 0 1em !important;
  width: fit-content;
  font-size: 11.5px;
  font-family: 'TradeGothicLTStd-BdCn20';
  background: transparent;
  color: var(--color-black);
  border: 2px var(--color-black) solid;
  border-radius: 0;
  text-transform: uppercase;
}
.woocommerce a.button.alt, .woocommerce-page a.button.alt { border-color: var(--color-black); }
/* Icon after buttons (kept for visual style) */
.woocommerce a.button:after {
  font-size: initial;
  line-height: 1em !important;
  content: "\24" !important; /* dollar glyph from ETModules */
  margin-left: -1em;
}
.woocommerce button.button:not(.button-confirm):after {
  font-size: initial;
  line-height: 2em !important;
  content: "\24" !important;
  margin-left: -1em;
  display: inline-flex;
}

/* On sale badge (white background, compact) */
.woocommerce span.onsale {
  background: #fff !important;
  padding: 0 !important;
  line-height: 0 !important;
}

/* =====================================================
   Product page (PDP)
   ===================================================== */
button.single_add_to_cart_button.button.alt {
  background: var(--color-black);
  color: var(--color-white);
  border: none;
  border-radius: 0;
}
button.single_add_to_cart_button.button.alt:hover { background: var(--color-black); color: var(--color-white); border: none; }

/* Cuotéalo (BCP) – hide deep link */
#cuotealo-bcp-single-pruduct p { font-weight: 700; }
#cuotealo-bcp-single-pruduct p a { display: none !important; }

/* Variations table – hide labels */
.woocommerce table.variations td.label { display: none; }

/* Sidebar typography stronger */
#sidebar { font-weight: 700 !important; }

/* Quantity/Total labels near price & qty (Spanish) */
.single_variation_wrap .price::before {
  content: "TOTAL";
  color: var(--color-black);
  margin-right: 1em;
}
.single_variation_wrap .quantity::before {
  content: "CANTIDAD";
  color: var(--color-black);
  margin-right: 1em;
}

/* Related products heading hidden (handled by Divi module) */
section.related.products h2 { display: none; }

/* =====================================================
   Cart / Checkout
   ===================================================== */
/* Product name color in cart */
td.product-name a { color: var(--color-black) !important; }

/* Button look across Woo views */
.woocommerce button.button,
.woocommerce button.button:hover,
.woocommerce-page button.button,
.woocommerce-page button.button:hover,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled] {
  font-family: 'TradeGothicLTStd-BdCn20';
  border-color: var(--color-black);
  border-radius: 0;
}
/* Cart → Checkout CTA */
a.checkout-button.button.alt.wc-forward { font-family: 'TradeGothicLTStd-BdCn20'; }

/* Checkout totals emphasis (page id specific) */
.page-id-1995 .order-total span.woocommerce-Price-amount.amount { font-size: 1.25em; }
.page-id-1995 span.woocommerce-Price-amount.amount { border-left: none; }

/* =====================================================
   Newsletter (Divi module)
   ===================================================== */
.et_pb_newsletter_form p.et_pb_newsletter_field { padding-bottom: 0; }
@media (min-width: 980px) {
  .et_pb_newsletter_description { max-width: 33%; }
  .skinny.et_pb_newsletter .et_pb_newsletter_fields { flex-wrap: nowrap !important; }
  .skinny.et_pb_newsletter .et_pb_newsletter_fields > * { flex-basis: 70%; }
  p.et_pb_newsletter_field.et_pb_contact_field_last { max-width: 70%; }
  p.et_pb_newsletter_button_wrap { max-width: 30%; }
}
.skinny .et_pb_newsletter_form { padding-left: 0; }
span.et_pb_newsletter_button_text { width: inherit; }

/* =====================================================
   Responsive adjustments
   ===================================================== */
@media (max-width: 980px) {
  /* Fixed header compensation */
  .et_fixed_nav.et_show_nav.et_header_style_centered #page-container { padding-top: 79px !important; }
  .product-template-default.woocommerce.et_fixed_nav.et_show_nav.et_header_style_centered #page-container { padding-top: 112px !important; }
}

@media (max-width: 768px) {
  blockquote { margin: 0 0 30px; border-left: 5px solid; padding-left: 15px; }
  blockquote p { line-height: 16.8px; font-size: 14px !important; }
}

/* =====================================================
   Footer
   ===================================================== */
h4.title {
  font-family: 'Gotham';
  font-style: normal;
  margin-bottom: 1em;
}
