/*
 * Portater Marine Supplies — Magento storefront theme
 * Inherits the Portater corporate identity from portater.net (WordPress)
 * Same palette, fonts, utility bar, header, footer — different content.
 */
:root{
  --navy:#0f2e46;--ink:#173042;--slate:#3f515d;--muted:#647581;--line:#e4e6e2;
  --blue:#1a5f8a;--blue-d:#144a6c;--gold:#b57d33;--sand:#f6f3ec;--paper:#fff;
  --display:"Archivo","Segoe UI",system-ui,Helvetica,Arial,sans-serif;
  --sans:"Source Sans 3","Segoe UI",system-ui,-apple-system,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);font-size:17px;line-height:1.68;color:var(--slate);background:var(--paper);-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--display);color:var(--ink);line-height:1.16;margin:0 0 .5em;font-weight:700;letter-spacing:-.015em}
h1{font-size:2.5rem}h2{font-size:1.8rem}h3{font-size:1.18rem}
p{margin:0 0 1rem}
.pt-shell{max-width:1140px;margin:0 auto;padding:0 26px}
.pt-kicker{font-family:var(--sans);text-transform:uppercase;letter-spacing:.19em;font-size:.74rem;font-weight:700;color:var(--gold);margin:0 0 .9rem}

/* Buttons */
.pt-btn{display:inline-block;font-family:var(--sans);font-weight:600;font-size:.97rem;padding:13px 26px;border-radius:2px;border:1.5px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease;cursor:pointer}
.pt-btn-solid{background:var(--navy);color:#fff}
.pt-btn-solid:hover{background:var(--blue-d);text-decoration:none}
.pt-btn-line{background:transparent;color:var(--navy);border-color:#c8cfc7;margin-left:10px}
.pt-btn-line:hover{border-color:var(--navy);text-decoration:none}

/* Utility bar */
.pt-utility{background:var(--navy);color:#c3d2dd;font-size:.83rem}
.pt-utility .pt-shell{display:flex;justify-content:space-between;align-items:center;min-height:38px;flex-wrap:wrap}
.pt-util-links a{color:#dbe6ee;margin-left:18px}
.pt-util-links a:hover{color:#fff}
.pt-util-login{border-left:1px solid #2c4a60;padding-left:18px}

/* Header */
.pt-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.pt-header .pt-shell{display:flex;align-items:center;justify-content:space-between;min-height:78px;flex-wrap:wrap}
.pt-brand{font-family:var(--display);font-weight:800;font-size:1.5rem;color:var(--navy);letter-spacing:-.03em}
.pt-brand:hover{text-decoration:none}
.pt-menu{display:flex;align-items:center;gap:28px}
.pt-menu a{color:var(--ink);font-weight:600;font-size:.96rem}
.pt-menu a:hover{color:var(--blue);text-decoration:none}
.pt-menu .pt-menu-cta{background:var(--navy);color:#fff;padding:9px 18px;border-radius:2px}
.pt-menu .pt-menu-cta:hover{background:var(--blue-d)}

/* Hero — e-commerce version */
.pt-hero{background:var(--sand);border-bottom:1px solid #ece7db;padding:64px 0}
.pt-hero .pt-shell{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center}
.pt-hero h1{font-size:2.8rem;color:var(--navy);margin-bottom:.3em}
.pt-hero .pt-lead{font-size:1.18rem;color:var(--slate);margin-bottom:1.5rem;max-width:32em}
.pt-hero-stats{background:var(--navy);color:#e7eef4;border-radius:3px;padding:28px 30px;box-shadow:0 18px 40px rgba(15,46,70,.18)}
.pt-hero-stats ul{list-style:none;margin:0;padding:0}
.pt-hero-stats li{padding:14px 0;border-bottom:1px solid #24455d}
.pt-hero-stats li:last-child{border-bottom:0}
.pt-hero-stats strong{display:block;font-family:var(--display);font-size:1.5rem;color:#fff;line-height:1.1}
.pt-hero-stats span{font-size:.88rem;color:#a9c0d1}

/* Product grid — e-commerce specific */
.pt-products{padding:64px 0}
.pt-products-head{max-width:640px;margin-bottom:2.2rem}
.pt-products-head h2{margin-bottom:.25em}
.pt-products-head p{color:var(--muted);font-size:1.05rem;margin:0}
.pt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.pt-product{border:1px solid var(--line);border-radius:3px;overflow:hidden;background:#fff;transition:box-shadow .15s ease}
.pt-product:hover{box-shadow:0 8px 24px rgba(15,46,70,.08)}
.pt-product-img{background:var(--sand);display:flex;align-items:center;justify-content:center;height:180px;font-size:2.2rem;color:var(--gold);border-bottom:1px solid var(--line)}
.pt-product-body{padding:16px 18px}
.pt-product-cat{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);font-weight:700}
.pt-product-name{font-family:var(--display);font-weight:700;font-size:1.02rem;color:var(--ink);margin:.4em 0 .3em;line-height:1.3}
.pt-product-price{font-family:var(--display);font-weight:700;font-size:1.15rem;color:var(--navy)}
.pt-product-stock{font-size:.8rem;color:#5a8a5a;margin-top:.3rem}

/* Category bar */
.pt-cats{background:#fff;border-bottom:1px solid var(--line);overflow-x:auto}
.pt-cats .pt-shell{display:flex;gap:0}
.pt-cats a{display:block;padding:14px 22px;font-weight:600;font-size:.92rem;color:var(--ink);white-space:nowrap;border-bottom:2px solid transparent}
.pt-cats a:hover{color:var(--blue);text-decoration:none;border-bottom-color:var(--blue)}
.pt-cats a.active{color:var(--navy);border-bottom-color:var(--gold)}

/* Footer — identical to portater.net */
.pt-footer{background:var(--navy);color:#a9c0d1}
.pt-foot-top{display:grid;grid-template-columns:1.4fr 2fr;gap:40px;padding:56px 26px 40px}
.pt-foot-name{font-family:var(--display);font-weight:800;font-size:1.35rem;color:#fff;display:block;margin-bottom:.5rem}
.pt-foot-brand p{max-width:30em;font-size:.94rem}
.pt-foot-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.pt-foot-cols h4{font-family:var(--display);color:#dbe6ee;font-size:.92rem;letter-spacing:.02em;margin:0 0 .9em}
.pt-foot-cols a{display:block;color:#a9c0d1;margin-bottom:.5rem}
.pt-foot-cols a:hover{color:#fff}
.pt-foot-loc{display:block;color:#7f9bad;font-size:.9rem;margin-top:.3rem}
.pt-foot-bar{border-top:1px solid #234258}
.pt-foot-bar .pt-shell{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:18px;padding-bottom:22px;font-size:.85rem;color:#7f9bad}
.pt-foot-bar a{color:#a9c0d1}

/* Magento-specific pages */
.pt-page{max-width:760px;margin:0 auto;padding:64px 26px}
.pt-login-box{max-width:460px;margin:48px auto;border:1px solid var(--line);border-radius:3px;padding:36px 32px;background:#fff}
.pt-login-box h2{font-size:1.5rem;margin-bottom:.2em}
.pt-login-box p{color:var(--muted);margin-bottom:1.4rem}
.pt-login-box label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.4rem;color:var(--ink)}
.pt-login-box input[type="text"],.pt-login-box input[type="password"],.pt-login-box input[type="email"]{width:100%;height:42px;border:1px solid var(--line);border-radius:2px;padding:0 14px;font:inherit;font-size:1rem;color:var(--ink);margin-bottom:1rem}
.pt-login-box input:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px rgba(15,46,70,.12)}
.pt-login-box button{width:100%;margin-top:.4rem}

/* 404 */
.pt-404{text-align:center;padding:80px 26px}
.pt-404 h1{font-size:2rem}
.pt-404 p{color:var(--muted);max-width:36em;margin:0 auto 1.4rem}

@media(max-width:880px){
  .pt-hero .pt-shell{grid-template-columns:1fr}
  .pt-grid{grid-template-columns:repeat(2,1fr)}
  .pt-foot-top{grid-template-columns:1fr}
  .pt-foot-cols{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .pt-grid{grid-template-columns:1fr}
  .pt-menu{gap:14px;font-size:.88rem}
}
