/*
Theme Name: Betheme Child
Theme URI: https://themes.muffingroup.com/betheme
Author: Muffin group
Author URI: https://muffingroup.com
Description: Child Theme for Betheme — NautiParts brand layer
Template: betheme
Version: 2.1.0
*/

/* ---------- NautiParts brand tokens ---------- */
:root{
  --np-navy:#0B2545; --np-ocean:#13315C; --np-steel:#3D4A5C; --np-mist:#8FA1B8;
  --np-line:#DCE3EC; --np-foam:#F4F6F9; --np-white:#fff;
  --np-orange:#F26419; --np-orange-dark:#D9530F;
  --np-radius:10px; --np-shadow:0 10px 30px rgba(11,37,69,.10);
  --np-wrap:1240px;
}
body{ color:var(--np-steel); -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,h5,h6{ font-family:"Barlow",sans-serif; }
::selection{ background:var(--np-orange); color:#fff; }

/* full-bleed helper for sections inside the_content */
.np-bleed{ width:100vw; position:relative; left:50%; margin-left:-50vw; }
.np-wrap{ max-width:var(--np-wrap); margin:0 auto; padding:0 24px; box-sizing:border-box; }
.np-section{ padding:84px 0; }
.np-section--foam{ background:var(--np-foam); }
.np-section--navy{ background:var(--np-navy); color:#C9D4E3; }
.np-section--navy h2,.np-section--navy h3{ color:#fff; }
.np-eyebrow{ display:inline-block; font:600 13px/1 "Barlow",sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--np-orange); margin-bottom:14px; }
.np-lead{ font-size:18px; line-height:1.65; max-width:680px; }
.np-center{ text-align:center; } .np-center .np-lead{ margin-left:auto; margin-right:auto; }
.np-head{ margin-bottom:44px; }
.np-head h2{ margin-bottom:12px; }

/* buttons */
.np-btn{ display:inline-flex; align-items:center; gap:10px; padding:15px 28px; border-radius:6px; font:600 16px/1 "Barlow",sans-serif; letter-spacing:.02em; text-decoration:none!important; transition:background .2s,color .2s,border-color .2s,transform .2s; border:2px solid transparent; }
.np-btn:hover{ transform:translateY(-1px); }
.np-btn--primary{ background:var(--np-orange); color:#fff!important; }
.np-btn--primary:hover{ background:var(--np-orange-dark); }
.np-btn--ghost{ border-color:rgba(255,255,255,.55); color:#fff!important; }
.np-btn--ghost:hover{ border-color:#fff; background:rgba(255,255,255,.08); }
.np-btn--navy{ background:var(--np-navy); color:#fff!important; }
.np-btn--navy:hover{ background:var(--np-ocean); }
.np-btns{ display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }

/* hero */
.np-hero{ position:relative; min-height:620px; display:flex; align-items:center; background:var(--np-navy) center/cover no-repeat; color:#fff; overflow:hidden; }
.np-hero::before{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(11,37,69,.96) 0%,rgba(11,37,69,.82) 42%,rgba(11,37,69,.25) 100%); }
.np-hero .np-wrap{ position:relative; width:100%; }
.np-hero__inner{ max-width:640px; padding:90px 0; }
.np-hero h1{ color:#fff; font-size:56px; line-height:1.05; letter-spacing:-.01em; margin-bottom:22px; }
.np-hero h1 em{ font-style:normal; color:var(--np-orange); }
.np-hero p{ color:#D6DFEA; font-size:19px; line-height:1.6; }
.np-hero__facts{ display:flex; flex-wrap:wrap; gap:28px; margin-top:44px; padding-top:28px; border-top:1px solid rgba(255,255,255,.15); }
.np-hero__facts div{ font-size:14px; color:#AFC0D4; }
.np-hero__facts strong{ display:block; font:700 26px/1.1 "Barlow",sans-serif; color:#fff; margin-bottom:4px; }

/* trust strip */
.np-trust{ background:#fff; border-bottom:1px solid var(--np-line); }
.np-trust__grid{ display:grid; grid-template-columns:repeat(4,1fr); }
.np-trust__item{ display:flex; gap:14px; align-items:flex-start; padding:28px 22px; border-right:1px solid var(--np-line); }
.np-trust__item:last-child{ border-right:0; }
.np-trust__item svg{ flex:0 0 34px; width:34px; height:34px; color:var(--np-orange); }
.np-trust__item strong{ display:block; font:700 16px/1.25 "Barlow",sans-serif; color:var(--np-navy); margin-bottom:4px; }
.np-trust__item span{ font-size:14px; line-height:1.45; }

/* feature split */
.np-split{ display:grid; grid-template-columns:1.05fr 1fr; gap:64px; align-items:center; }
.np-split img{ width:100%; height:auto; border-radius:var(--np-radius); box-shadow:var(--np-shadow); display:block; }
.np-checks{ list-style:none; margin:24px 0 0; padding:0; }
.np-checks li{ position:relative; padding-left:34px; margin-bottom:14px; line-height:1.55; }
.np-checks li::before{ content:""; position:absolute; left:0; top:3px; width:20px; height:20px; border-radius:50%; background:var(--np-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3L15 6.8' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat; }

/* steps */
.np-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; counter-reset:np; }
.np-step{ background:#fff; border:1px solid var(--np-line); border-radius:var(--np-radius); padding:28px 24px; counter-increment:np; }
.np-step::before{ content:counter(np,decimal-leading-zero); display:block; font:800 30px/1 "Barlow",sans-serif; color:var(--np-orange); margin-bottom:14px; }
.np-step h4{ margin-bottom:8px; }
.np-step p{ margin:0; font-size:15px; line-height:1.55; }

/* CTA band */
.np-cta{ background:linear-gradient(120deg,var(--np-navy),var(--np-ocean)); color:#C9D4E3; border-radius:14px; padding:56px; display:grid; grid-template-columns:1.4fr auto; gap:32px; align-items:center; }
.np-cta h2{ color:#fff; margin-bottom:10px; }
.np-cta p{ margin:0; font-size:17px; }

/* WooCommerce category tiles (shortcode) */
.np-cats ul.products{ display:grid!important; grid-template-columns:repeat(3,1fr); gap:24px; margin:0!important; }
.np-cats ul.products::before,.np-cats ul.products::after{ display:none!important; }
.np-cats ul.products li.product-category{ width:auto!important; margin:0!important; float:none!important; background:#fff; border:1px solid var(--np-line); border-radius:var(--np-radius); overflow:hidden; transition:box-shadow .25s,transform .25s; }
.np-cats ul.products li.product-category:hover{ box-shadow:var(--np-shadow); transform:translateY(-3px); }
.np-cats li.product-category img{ width:100%; aspect-ratio:4/3; object-fit:cover; margin:0!important; display:block; }
.np-cats li.product-category h2.woocommerce-loop-category__title{ font-size:20px!important; padding:18px 20px!important; margin:0!important; color:var(--np-navy); text-align:left; }
.np-cats li.product-category mark.count{ background:none; color:var(--np-orange); font-weight:600; font-size:15px; }

/* page header (subheader) */
#Subheader{ background:var(--np-navy) url("/wp-content/uploads/2026/10/nautiparts-header.webp") center/cover no-repeat!important; position:relative; padding:56px 0 50px!important; }
#Subheader::after{ content:""; position:absolute; inset:0; background:rgba(11,37,69,.72); }
#Subheader .container{ position:relative; z-index:1; }
#Subheader .title{ color:#fff!important; font-weight:700; }
#Subheader ul.breadcrumbs li, #Subheader ul.breadcrumbs li a{ color:#C9D4E3!important; }

/* legal / text pages */
.np-doc{ max-width:860px; margin:0 auto; padding:24px 0 40px; font-size:16px; line-height:1.75; }
.np-doc h2{ font-size:26px; line-height:1.25; margin:42px 0 12px; padding-top:8px; }
.np-doc h3{ font-size:20px; margin:28px 0 8px; }
.np-doc ul,.np-doc ol{ margin:0 0 18px 22px; }
.np-doc li{ margin-bottom:6px; }
.np-doc .np-note{ background:var(--np-foam); border-left:4px solid var(--np-orange); padding:18px 22px; border-radius:0 8px 8px 0; margin:22px 0; }
.np-doc table{ width:100%; border-collapse:collapse; margin:16px 0 24px; font-size:15px; }
.np-doc th,.np-doc td{ border:1px solid var(--np-line); padding:10px 14px; text-align:left; vertical-align:top; }
.np-doc th{ background:var(--np-foam); color:var(--np-navy); font-weight:600; }
.np-updated{ color:var(--np-mist); font-size:14px; }

/* FAQ */
.np-faq details{ border:1px solid var(--np-line); border-radius:8px; margin-bottom:12px; background:#fff; }
.np-faq summary{ cursor:pointer; list-style:none; padding:18px 52px 18px 22px; font:600 17px/1.4 "Barlow",sans-serif; color:var(--np-navy); position:relative; }
.np-faq summary::-webkit-details-marker{ display:none; }
.np-faq summary::after{ content:"+"; position:absolute; right:22px; top:50%; transform:translateY(-50%); font-size:24px; color:var(--np-orange); }
.np-faq details[open] summary::after{ content:"–"; }
.np-faq details > div{ padding:0 22px 18px; }

/* contact */
.np-contact{ display:grid; grid-template-columns:1fr 1.35fr; gap:56px; align-items:start; }
.np-card{ background:var(--np-foam); border-radius:var(--np-radius); padding:32px; }
.np-card h3{ font-size:20px; margin-bottom:6px; }
.np-card p{ margin-bottom:18px; }
.np-form label{ display:block; font-weight:600; color:var(--np-navy); font-size:14px; margin-bottom:6px; }
.np-form input[type=text],.np-form input[type=email],.np-form input[type=tel],.np-form textarea,.np-form select{ width:100%; box-sizing:border-box; border:1px solid var(--np-line)!important; border-radius:6px; padding:12px 14px!important; background:#fff!important; font-size:16px; }
.np-form .np-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.np-form p{ margin-bottom:16px; }
.np-form input[type=submit]{ background:var(--np-orange)!important; color:#fff!important; border:0; border-radius:6px; padding:15px 32px; font:600 16px "Barlow",sans-serif; cursor:pointer; }
.np-form input[type=submit]:hover{ background:var(--np-orange-dark)!important; }
.np-form .np-small{ font-size:13px; color:var(--np-mist); }

/* header + footer polish */
#Action_bar{ font-size:13px; }
#Top_bar{ box-shadow:0 1px 0 var(--np-line); }
#Top_bar .menu > li > a span:not(.description){ font-family:"Barlow",sans-serif; }
#Footer .widget h4{ font-size:16px; letter-spacing:.08em; text-transform:uppercase; color:#fff; margin-bottom:18px; }
#Footer .widget ul{ list-style:none; margin:0; padding:0; }
#Footer .widget ul li{ padding:4px 0; }
#Footer .np-foot-logo{ width:200px; height:auto; margin-bottom:16px; }
#Footer .footer_copy{ border-top:1px solid rgba(255,255,255,.1); }
#Footer .np-pay{ font-size:13px; color:var(--np-mist); }

/* WooCommerce bits */
.woocommerce .product .price, .woocommerce ul.products li.product .price{ color:var(--np-navy); font-weight:700; }
.woocommerce span.onsale{ background:var(--np-orange); }
.woocommerce-store-notice, p.demo_store{ background:var(--np-navy)!important; }

/* responsive */
@media (max-width:1024px){
  .np-trust__grid{ grid-template-columns:repeat(2,1fr); }
  .np-trust__item:nth-child(2){ border-right:0; }
  .np-trust__item{ border-bottom:1px solid var(--np-line); }
  .np-steps{ grid-template-columns:repeat(2,1fr); }
  .np-cats ul.products{ grid-template-columns:repeat(2,1fr); }
  .np-split{ gap:40px; }
}
@media (max-width:767px){
  .np-section{ padding:56px 0; }
  .np-hero{ min-height:0; }
  .np-hero::before{ background:linear-gradient(180deg,rgba(11,37,69,.88),rgba(11,37,69,.95)); }
  .np-hero__inner{ padding:64px 0; }
  .np-hero h1{ font-size:36px; }
  .np-hero p{ font-size:17px; }
  .np-wrap{ padding:0 16px; }
  .np-trust__grid,.np-steps,.np-split,.np-contact,.np-cta,.np-form .np-row{ grid-template-columns:1fr; }
  .np-trust__item{ border-right:0; padding:20px 4px; }
  .np-cats ul.products{ grid-template-columns:1fr; }
  .np-cta{ padding:36px 24px; }
}

/* footer: category widget without the theme's coloured box */
#Footer .widget_product_categories ul{ background-color:transparent!important; list-style:none; }
