/* ============================================================
   Aquamarine Outboard — Premium polish layer (homepage)
   Keeps existing brand colors; refines type, spacing, cards,
   buttons, product tiles, sections, footer. Reversible.
   ============================================================ */
:root{
  --aq-blue:#006994;
  --aq-blue-2:#00a3cc;
  --aq-blue-dk:#00405c;
  --aq-orange:#e65c00;
  --aq-ink:#17293b;
  --aq-muted:#5b6b7c;
  --aq-line:#e7edf3;
  --aq-soft:#f5f9fc;
  --aq-shadow:0 1px 2px rgba(16,42,67,.04), 0 8px 24px rgba(16,42,67,.06);
  --aq-shadow-hi:0 18px 46px rgba(16,42,67,.14);
}

/* ---------- Global type refinement ---------- */
body.aqua-premium{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  color:#22303f;
}
body.aqua-premium h1,body.aqua-premium h2,body.aqua-premium h3,body.aqua-premium h4{
  letter-spacing:-.018em;
}
body.aqua-premium .elementor-heading-title{
  font-weight:700;
  letter-spacing:-.022em;
  color:#122534;
}
body.aqua-premium p{ line-height:1.7; }

/* ---------- Section rhythm ---------- */
body.aqua-premium .elementor-section.elementor-section-boxed>.elementor-container{ }
body.aqua-premium section .elementor-widget-heading{ margin-bottom:6px; }

/* ---------- Feature cards (.aqua-card) ---------- */
body.aqua-premium .aqua-grid{ gap:26px; margin-top:34px; }
body.aqua-premium .aqua-card{
  background:#fff !important;
  border:1px solid var(--aq-line) !important;
  border-radius:16px !important;
  padding:32px 30px !important;
  box-shadow:var(--aq-shadow);
  transition:transform .28s cubic-bezier(.2,.7,.3,1), box-shadow .28s ease, border-color .28s ease;
  position:relative;
  overflow:hidden;
}
body.aqua-premium .aqua-card::before{
  content:"";
  position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--aq-blue),var(--aq-blue-2));
  transform:scaleX(0); transform-origin:left;
  transition:transform .35s ease;
}
body.aqua-premium .aqua-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--aq-shadow-hi);
  border-color:#cfe4ee !important;
}
body.aqua-premium .aqua-card:hover::before{ transform:scaleX(1); }
body.aqua-premium .aqua-card h3{
  color:#0f2942 !important;
  font-weight:700 !important;
  font-size:1.2rem !important;
  letter-spacing:-.012em;
  margin-bottom:14px !important;
  display:flex; align-items:center; gap:14px;
  line-height:1.3;
}
body.aqua-premium .aqua-card p{ color:var(--aq-muted); font-size:.96rem; }
body.aqua-premium .aqua-card a{
  font-weight:600; color:var(--aq-blue); text-decoration:none;
  display:inline-block; margin-top:6px; letter-spacing:.005em;
  transition:color .2s, transform .2s;
}
body.aqua-premium .aqua-card a:hover{ color:var(--aq-orange); transform:translateX(3px); }

/* Icon badge injected by JS (emoji -> SVG) */
body.aqua-premium .aqua-ic{
  flex:0 0 auto; width:48px; height:48px; border-radius:13px;
  background:linear-gradient(135deg,#e9f5fb,#d7ecf6);
  color:var(--aq-blue);
  display:inline-flex; align-items:center; justify-content:center;
  box-shadow:inset 0 0 0 1px rgba(0,105,148,.08);
}
body.aqua-premium .aqua-ic svg{ width:24px; height:24px; stroke:var(--aq-blue); }
/* larger centered badge for standalone icons (contact cards) */
body.aqua-premium .aqua-ic-lg{
  width:62px; height:62px; border-radius:50%; margin:0 auto 10px;
  background:linear-gradient(135deg,#eaf6fb,#d6ecf6);
  box-shadow:0 6px 18px rgba(0,105,148,.16), inset 0 0 0 1px rgba(0,105,148,.08);
}
body.aqua-premium .aqua-ic-lg svg{ width:28px; height:28px; }

/* ---------- Buttons ---------- */
body.aqua-premium .btn.btn-special,
body.aqua-premium a.btn-special,
body.aqua-premium .elementor-button{
  border-radius:11px !important;
  font-weight:600 !important;
  letter-spacing:.02em !important;
  padding:14px 32px !important;
  box-shadow:0 6px 18px rgba(16,42,67,.16);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
  border:0 !important;
}
body.aqua-premium .btn.btn-special:hover,
body.aqua-premium a.btn-special:hover,
body.aqua-premium .elementor-button:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(16,42,67,.24);
  filter:saturate(1.05) brightness(1.02);
}

/* ---------- "Authorized Dealer of" logos ---------- */
body.aqua-premium .elementor-widget-image img{ transition:filter .3s ease, transform .3s ease, opacity .3s ease; }
/* brand logo strips: subtle unify + hover pop */
body.aqua-premium section:not(.no-logo-fx) a>img[src*="Logo"],
body.aqua-premium img[alt*="Logo"]{ }

/* ---------- Product tiles (Porto) ---------- */
body.aqua-premium .porto-tb-item.product,
body.aqua-premium li.product{
  border-radius:14px;
  transition:transform .26s cubic-bezier(.2,.7,.3,1), box-shadow .26s ease;
  padding:10px 10px 6px !important;
}
body.aqua-premium .porto-tb-item.product:hover,
body.aqua-premium li.product:hover{
  transform:translateY(-6px);
  box-shadow:var(--aq-shadow-hi);
  background:#fff;
}
body.aqua-premium .porto-tb-item .product-thumb,
body.aqua-premium li.product .product-thumb,
body.aqua-premium .product-image{
  border-radius:10px; overflow:hidden;
}
body.aqua-premium .porto-tb-item .product-thumb img,
body.aqua-premium li.product img.wp-post-image{
  transition:transform .5s cubic-bezier(.2,.7,.3,1);
}
body.aqua-premium .porto-tb-item.product:hover .product-thumb img,
body.aqua-premium li.product:hover img.wp-post-image{ transform:scale(1.06); }
body.aqua-premium .porto-tb-item .product-name,
body.aqua-premium li.product .woocommerce-loop-product__title,
body.aqua-premium li.product .product-title{
  font-weight:600 !important; letter-spacing:-.01em; line-height:1.35;
}
body.aqua-premium .porto-tb-item .price,
body.aqua-premium li.product .price{ font-weight:700; }
body.aqua-premium li.product .price ins,
body.aqua-premium .porto-tb-item .price ins{ text-decoration:none; color:var(--aq-blue-dk); }
/* sale badge refine */
body.aqua-premium .porto-tb-item .onsale,
body.aqua-premium li.product .onsale,
body.aqua-premium span.onsale{
  border-radius:999px !important; font-weight:700 !important;
  letter-spacing:.02em; padding:5px 11px !important;
  box-shadow:0 4px 10px rgba(214,40,40,.28); border:0 !important;
}

/* category eyebrow above product title */
body.aqua-premium .porto-tb-item .category,
body.aqua-premium li.product .posted_in,
body.aqua-premium .product-loop-category{
  font-size:.68rem !important; letter-spacing:.09em !important; text-transform:uppercase;
  color:#93a3b3 !important;
}

/* ---------- Configurator ("Find Your Outboard Motor & Parts") ---------- */
body.aqua-premium select{
  border-radius:10px !important;
  border:1px solid var(--aq-line) !important;
  padding:12px 14px !important;
  transition:border-color .2s, box-shadow .2s;
  background-color:#fff !important;
}
body.aqua-premium select:focus{
  border-color:var(--aq-blue) !important;
  box-shadow:0 0 0 3px rgba(0,105,148,.12) !important;
  outline:none !important;
}

/* ---------- Main nav: prevent wrap, refine ---------- */
body.aqua-premium .main-menu>li>a,
body.aqua-premium #menu-main-menu>li>a,
body.aqua-premium ul.menu>li>a,
body.aqua-premium .porto-main-menu>li>a{
  letter-spacing:.005em;
}
@media (min-width:992px){
  body.aqua-premium .main-menu>li,
  body.aqua-premium ul.menu>li{ white-space:nowrap; }
  body.aqua-premium .main-menu>li>a{ padding-left:15px !important; padding-right:15px !important; }
}

/* ---------- Section headings with accent underline ---------- */
body.aqua-premium .elementor-widget-heading .elementor-heading-title{ line-height:1.2; }

/* ---------- Footer polish ---------- */
body.aqua-premium .footer,
body.aqua-premium footer.footer{ }
body.aqua-premium .footer a{ transition:color .2s ease, padding-left .2s ease; }
body.aqua-premium .footer .widget-title,
body.aqua-premium .footer h4{ letter-spacing:.01em; font-weight:600; }
body.aqua-premium .footer ul li a:hover{ color:#fff; padding-left:4px; }
body.aqua-premium .footer input.form-control,
body.aqua-premium .footer input[type=email]{
  border-radius:10px !important; border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.06) !important; color:#fff !important; padding:12px 14px !important;
}
body.aqua-premium .footer input[type=email]::placeholder{ color:rgba(255,255,255,.5) !important; }

/* social icon chips */
body.aqua-premium .footer .social-icons a,
body.aqua-premium .footer a.social-icon{
  transition:transform .2s ease, background .2s ease;
}
body.aqua-premium .footer .social-icons a:hover{ transform:translateY(-3px); }

/* ---------- Dark CTA / contact section cards ---------- */
body.aqua-premium .aqua-contact-card,
body.aqua-premium .aqua-cta{ border-radius:16px; }

/* Smooth anchor + focus niceties */
body.aqua-premium a{ transition:color .2s ease; }

/* ============================================================
   Interior pages (shop / category / single product / cart)
   Conservative: no size changes that could break checkout.
   ============================================================ */
/* WooCommerce buttons — radius + weight + hover lift only */
body.aqua-premium .woocommerce a.button,
body.aqua-premium .woocommerce button.button,
body.aqua-premium .woocommerce input.button,
body.aqua-premium .single_add_to_cart_button,
body.aqua-premium .checkout-button,
body.aqua-premium .wc-proceed-to-checkout .button{
  border-radius:10px !important;
  font-weight:600 !important;
  letter-spacing:.015em;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}
body.aqua-premium .woocommerce a.button:hover,
body.aqua-premium .woocommerce button.button:hover,
body.aqua-premium .single_add_to_cart_button:hover,
body.aqua-premium .checkout-button:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(16,42,67,.18);
  filter:brightness(1.02);
}

/* Single product headings / price */
body.aqua-premium .product_title,
body.aqua-premium h1.entry-title{ letter-spacing:-.02em; font-weight:700; }
body.aqua-premium .woocommerce-Price-amount{ font-weight:700; }
body.aqua-premium .single-product div.product p.price,
body.aqua-premium .single-product div.product span.price{ color:var(--aq-blue-dk); }

/* Breadcrumb refinement */
body.aqua-premium .woocommerce-breadcrumb,
body.aqua-premium .breadcrumb,
body.aqua-premium .page-title-breadcrumbs{
  font-size:.8rem; letter-spacing:.02em;
}

/* Archive / shop page title */
body.aqua-premium .page-title,
body.aqua-premium .woocommerce-products-header__title,
body.aqua-premium .page-header .title{
  font-weight:700; letter-spacing:-.02em;
}

/* Inputs (rounded, focus ring) — matches select styling */
body.aqua-premium .quantity input.qty,
body.aqua-premium input[type=text].input-text,
body.aqua-premium input[type=email].input-text,
body.aqua-premium input[type=tel].input-text,
body.aqua-premium textarea.input-text{
  border-radius:9px !important;
  transition:border-color .2s, box-shadow .2s;
}
body.aqua-premium input.input-text:focus,
body.aqua-premium textarea.input-text:focus{
  border-color:var(--aq-blue) !important;
  box-shadow:0 0 0 3px rgba(0,105,148,.10) !important;
  outline:none !important;
}

/* Category/shop sidebar widget titles */
body.aqua-premium .widget .widget-title,
body.aqua-premium .sidebar .widget-title{
  font-weight:700; letter-spacing:-.01em;
}

/* Related / upsell product tiles inherit the loop polish already */
body.aqua-premium .related.products li.product,
body.aqua-premium .up-sells li.product{ border-radius:14px; }
