/* Seven Sports Inventory - grid, cards, and detail page */
.ssi-listings, .ssi-detail { --ssi-ink:#13293d; --ssi-muted:#6b7680; --ssi-line:#e3e7ea; --ssi-navy:#0a2540; --ssi-orange:#f7941d; --ssi-accent:#0a2540; --ssi-cta:#0a2540; }

/* Full-width: the shortcode output is injected into an Elementor flex column that
   doesn't stretch its children, so force these wrappers to fill it (otherwise they
   shrink to the boat image's intrinsic width and sit narrow/left on mobile). */
.ssi-listings,.ssi-grid,.ssi-brandstrip,.ssi-brandpage,.ssi-detail{width:100%;box-sizing:border-box;}

/* Filters bar */
.ssi-filters{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 24px;padding-bottom:16px;border-bottom:1px solid var(--ssi-line);}
.ssi-result-count{font-size:13px;color:var(--ssi-muted);text-transform:uppercase;letter-spacing:.08em;}
.ssi-result-count strong{color:var(--ssi-ink);font-size:20px;letter-spacing:0;margin-right:5px;}
.ssi-filters label{display:inline-flex;align-items:center;gap:9px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--ssi-muted);}
.ssi-filters select,.ssi-sort{padding:10px 38px 10px 14px;border:1px solid #cfd6dc;border-radius:8px;background:#fff;font-size:14px;color:var(--ssi-ink);cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%230a2540' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;transition:border-color .15s,box-shadow .15s;}
.ssi-filters select:focus,.ssi-sort:focus{border-color:var(--ssi-navy);box-shadow:0 0 0 3px rgba(10,37,64,.12);outline:none;}

/* Grid */
.ssi-grid{display:grid;gap:24px;grid-template-columns:repeat(3,1fr);}
.ssi-cols-1{grid-template-columns:1fr;}
.ssi-cols-2{grid-template-columns:repeat(2,1fr);}
.ssi-cols-4{grid-template-columns:repeat(4,1fr);}
@media(max-width:1024px){.ssi-grid,.ssi-cols-3,.ssi-cols-4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.ssi-grid,.ssi-cols-2,.ssi-cols-3,.ssi-cols-4{grid-template-columns:1fr;}}

/* Card - flex column so every CTA bar pins to the bottom regardless of title length */
.ssi-card{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--ssi-line);border-radius:10px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.06);transition:box-shadow .2s,transform .2s;}
.ssi-card:hover{box-shadow:0 14px 32px rgba(10,37,64,.16);transform:translateY(-4px);border-color:#d4dbe1;}
.ssi-card-link{display:flex;flex-direction:column;flex:1 1 auto;text-decoration:none;color:inherit;}
.ssi-card-media{position:relative;flex:0 0 auto;aspect-ratio:4/3;background:#eef1f3;overflow:hidden;}
.ssi-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease;}
.ssi-card:hover .ssi-card-media img{transform:scale(1.06);}
.ssi-card:hover .ssi-card-title{color:var(--ssi-navy);}
.ssi-card-noimg{display:flex;align-items:center;justify-content:center;height:100%;color:#9aa4ac;font-size:14px;letter-spacing:.05em;}
.ssi-badge{position:absolute;top:12px;left:12px;color:#fff !important;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:6px 11px;border-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.25);}
.ssi-badge-new{background:#1a8a43;}
.ssi-badge-pre-owned{background:var(--ssi-navy);}
.ssi-badge-consignment{background:#b5751a;}
.ssi-card-body{display:flex;flex-direction:column;flex:1 1 auto;padding:16px 16px 14px;}
.ssi-card-title{font-size:17px;line-height:1.3;margin:0 0 10px;color:var(--ssi-ink);font-weight:700;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .15s ease;}
.ssi-card-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--ssi-muted);font-size:13px;margin-bottom:10px;}
.ssi-card-price{margin-top:auto;font-size:21px;font-weight:800;color:var(--ssi-ink);}
.ssi-price-call{color:var(--ssi-navy);font-size:17px;font-weight:800;}
.ssi-card-cta{flex:0 0 auto;display:block;text-align:center;background:var(--ssi-cta);color:#fff !important;text-decoration:none !important;font-size:12.5px;font-weight:800;letter-spacing:.07em;padding:14px;border-top:3px solid var(--ssi-orange);transition:background .15s;}
.ssi-card-cta:hover{background:#0e3a63;color:#fff !important;}

/* Pagination */
.ssi-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin:40px 0 6px;}
.ssi-pagination a{display:inline-flex;align-items:center;color:var(--ssi-navy);text-decoration:none;font-weight:700;font-size:14px;padding:10px 22px;border:1.5px solid var(--ssi-navy);border-radius:30px;transition:background .15s,color .15s;}
.ssi-pagination a:hover{background:var(--ssi-navy);color:#fff;}
.ssi-page-info{color:var(--ssi-muted);font-size:13px;text-transform:uppercase;letter-spacing:.06em;}

/* Notices / search */
.ssi-notice{padding:36px 20px;text-align:center;color:var(--ssi-muted);background:#f6f8f9;border-radius:10px;}
.ssi-search{display:flex;width:100%;max-width:680px;margin:0 auto 30px;background:#fff;border:2px solid var(--ssi-navy);border-radius:8px;overflow:hidden;box-shadow:0 4px 16px rgba(10,37,64,.14);}
.ssi-search input{flex:1 1 auto;min-width:0;padding:16px 20px;border:0;font-size:16px;color:var(--ssi-ink);outline:none;background:#fff;}
.ssi-search input::placeholder{color:#8a949c;}
.ssi-search button{flex:0 0 auto;padding:16px 32px;border:0;background:var(--ssi-orange);color:var(--ssi-navy);font-size:15px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:background .15s;}
.ssi-search button:hover{background:#ffa733;}
.ssi-search-summary{max-width:680px;margin:0 auto 18px;text-align:center;color:var(--ssi-muted);font-size:15px;}
.ssi-search-summary a{color:var(--ssi-navy);font-weight:700;}

/* ===== Contact Form 7 forms (contact page + boat inquiry) ===== */
.wpcf7-form{font-size:15px;color:#13293d;line-height:1.5;}
.wpcf7-form p{margin:0 0 16px;}
.wpcf7-form .ssi-form-row{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 16px;}
.wpcf7-form .ssi-form-row > .wpcf7-form-control-wrap{flex:1 1 220px;min-width:0;display:block;}

.wpcf7-form input[type=text],
.wpcf7-form input[type=email],
.wpcf7-form input[type=tel],
.wpcf7-form select,
.wpcf7-form textarea{
  width:100% !important;box-sizing:border-box !important;display:block;
  margin:0 !important;padding:13px 15px !important;
  border:1px solid #cfd6dc !important;border-radius:8px !important;
  background:#fff !important;color:#13293d !important;
  font-size:15px !important;line-height:1.4 !important;font-family:inherit;
  box-shadow:none !important;-webkit-appearance:none;appearance:none;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.wpcf7-form input::placeholder,.wpcf7-form textarea::placeholder{color:#97a1a9;opacity:1;}
.wpcf7-form input:focus,.wpcf7-form select:focus,.wpcf7-form textarea:focus{
  border-color:#0a2540 !important;box-shadow:0 0 0 3px rgba(10,37,64,.13) !important;outline:none;
}
.wpcf7-form textarea{height:150px !important;min-height:120px;resize:vertical;}
.wpcf7-form select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%230a2540' d='M6 8 0 0h12z'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;background-position:right 16px center !important;
  padding-right:40px !important;cursor:pointer;
}

/* opt-in / acceptance checkbox row */
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item{margin:0;}
.wpcf7-form .wpcf7-acceptance label{display:flex;align-items:flex-start;gap:10px;margin:0;font-size:14px;line-height:1.5;font-weight:400;color:#6b7680;cursor:pointer;}
.wpcf7-form .wpcf7-acceptance input[type=checkbox]{flex:0 0 auto;width:18px !important;height:18px !important;margin:1px 0 0 !important;accent-color:#0a2540;}

/* submit */
.wpcf7-form .wpcf7-submit{
  display:inline-block;width:auto !important;margin:6px 0 0 !important;
  background:#f7941d !important;color:#fff !important;border:0 !important;border-radius:8px !important;
  padding:14px 34px !important;font-size:15px !important;font-weight:800 !important;letter-spacing:.04em;
  cursor:pointer;box-shadow:0 2px 8px rgba(247,148,29,.35);transition:background .15s, transform .05s;
}
.wpcf7-form .wpcf7-submit:hover{background:#e07e08 !important;}
.wpcf7-form .wpcf7-submit:active{transform:translateY(1px);}
.wpcf7-spinner{margin:0 0 0 10px;}

/* validation + response */
.wpcf7-not-valid-tip{color:#c8102e;font-size:13px;margin-top:5px;}
.wpcf7-form input.wpcf7-not-valid,.wpcf7-form textarea.wpcf7-not-valid,.wpcf7-form select.wpcf7-not-valid{border-color:#c8102e !important;}
.wpcf7 .wpcf7-response-output{margin:16px 0 0 !important;padding:12px 15px !important;border-radius:8px;font-size:14px;}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output{border:1px solid #f1c0c0;background:#fdeaea;color:#a12626;}
.wpcf7 form.sent .wpcf7-response-output{border:1px solid #bfe3c8;background:#eaf7ee;color:#1f7a3d;}

/* enclosing cards */
.eael-contact-form{display:block !important;float:none !important;width:100%;max-width:720px;margin:0 auto !important;padding:34px !important;background:#f6f8f9;border:1px solid #e3e7ea;border-radius:14px;box-sizing:border-box;text-align:left;}
.ssi-inquiry .wpcf7{max-width:720px;background:#f6f8f9;border:1px solid #e3e7ea;border-radius:14px;padding:30px;box-sizing:border-box;}

/* ---- Home brand showcase strip (rebuilt: rearranged + Orion added) ----
   Equal slots so the 5 differently-proportioned logos line up uniformly. */
.ssi-brandstrip{padding:54px 20px;background:#fff;}
.ssi-brandstrip-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:34px 30px;align-items:center;justify-items:center;}
.ssi-brandstrip a{display:flex;align-items:center;justify-content:center;width:100%;opacity:.85;transition:opacity .18s ease,transform .2s ease;}
.ssi-brandstrip a:hover{opacity:1;transform:translateY(-2px);}
.ssi-brandstrip img{width:auto;height:auto;max-width:158px;max-height:52px;object-fit:contain;display:block;}
@media(max-width:900px){.ssi-brandstrip{padding:40px 18px;}.ssi-brandstrip-inner{grid-template-columns:repeat(3,1fr);}}
@media(max-width:520px){.ssi-brandstrip-inner{grid-template-columns:repeat(2,1fr);}}

/* ---- Brand page (Orion) - matches the captured brand-page hero (dark band + light logo) ---- */
.ssi-brandpage{background:#fff;}
.ssi-brand-hero{background:#18202A;text-align:center;padding:75px 20px;}
@media(max-width:1024px){.ssi-brand-hero{padding:55px 20px;}}
@media(max-width:767px){.ssi-brand-hero{padding:45px 20px;}}
.ssi-brand-hero img.ssi-brand-hero-logo{height:54px !important;width:auto !important;max-width:88%;display:inline-block;vertical-align:middle;}
.ssi-brandpage-inner{max-width:1140px;margin:0 auto;padding:34px 20px 72px;}
.ssi-brand-note{text-align:center;color:#6b7680;font-size:15px;line-height:1.6;max-width:760px;margin:0 auto 28px;}
.ssi-brand-note a{color:var(--ssi-navy,#0a2540);font-weight:700;}

/* ---- Detail page ---- */
.ssi-detail{background:#fff;}
.ssi-detail-inner{max-width:1140px;margin:0 auto;padding:30px 20px 70px;}
.ssi-breadcrumb a{color:var(--ssi-accent);text-decoration:none;font-weight:600;}
.ssi-detail-top{display:grid;grid-template-columns:1.6fr 1fr;gap:34px;margin:18px 0 10px;}
@media(max-width:900px){.ssi-detail-top{grid-template-columns:1fr;}}
.ssi-gallery-main{aspect-ratio:4/3;background:#eef1f3;border-radius:10px;overflow:hidden;}
.ssi-gallery-main img{width:100%;height:100%;object-fit:cover;display:block;}
.ssi-noimg{display:flex;align-items:center;justify-content:center;color:#9aa4ac;}
.ssi-gallery-thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:10px;}
.ssi-thumb{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;cursor:pointer;opacity:.7;border:2px solid transparent;}
.ssi-thumb{transition:opacity .15s,border-color .15s;}
.ssi-thumb:hover,.ssi-thumb.is-active{opacity:1;border-color:var(--ssi-orange);}
.ssi-summary{align-self:start;}
.ssi-detail-title{font-size:26px;line-height:1.25;margin:10px 0;color:var(--ssi-ink);}
.ssi-detail-price{font-size:28px;font-weight:800;color:var(--ssi-ink);margin-bottom:16px;}
.ssi-quickspecs{list-style:none;margin:0 0 20px;padding:0;border-top:1px solid var(--ssi-line);}
.ssi-quickspecs li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--ssi-line);font-size:14px;}
.ssi-quickspecs span{color:var(--ssi-muted);}
.ssi-cta-buttons{display:flex;flex-direction:column;gap:10px;}
.ssi-btn{display:block;text-align:center;text-decoration:none;padding:13px 18px;border-radius:6px;font-weight:700;}
.ssi-btn-primary{background:var(--ssi-cta);color:#fff;}
.ssi-btn-secondary{background:#fff;color:var(--ssi-ink);border:1.5px solid var(--ssi-ink);}
.ssi-section{margin-top:40px;}
.ssi-section h2{position:relative;font-size:21px;color:var(--ssi-ink);margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--ssi-line);}
.ssi-section h2::after{content:"";position:absolute;left:0;bottom:-1px;width:52px;height:3px;background:var(--ssi-orange);border-radius:2px;}
.ssi-specs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ssi-line);border:1px solid var(--ssi-line);border-radius:8px;overflow:hidden;}
@media(max-width:700px){.ssi-specs-grid{grid-template-columns:1fr 1fr;}}
.ssi-spec{background:#fff;padding:12px 14px;display:flex;flex-direction:column;gap:3px;}
.ssi-spec-label{font-size:12px;color:var(--ssi-muted);text-transform:uppercase;letter-spacing:.04em;}
.ssi-spec-value{font-size:15px;color:var(--ssi-ink);font-weight:600;}
.ssi-description{line-height:1.7;color:#3a454d;}
.ssi-inquiry-ref{color:var(--ssi-muted);}
.ssi-inquiry-fallback .ssi-btn{display:inline-block;margin:4px;}
.ssi-quickspecs strong{color:var(--ssi-ink);}
.ssi-detail-price{letter-spacing:-.5px;}

/* freshening: button micro-interactions + breadcrumb */
.ssi-btn{transition:transform .05s ease,box-shadow .15s ease,background .15s ease,color .15s ease;}
.ssi-btn-primary{box-shadow:0 2px 12px rgba(10,37,64,.22);}
.ssi-btn-primary:hover{background:#0e3a63;}
.ssi-btn-secondary:hover{background:var(--ssi-ink);color:#fff;}
.ssi-btn:active{transform:translateY(1px);}
.ssi-breadcrumb a{transition:color .15s;}
.ssi-breadcrumb a:hover{color:var(--ssi-orange);}

/* accessible focus rings on interactive plugin elements */
.ssi-card-link:focus-visible,.ssi-card-cta:focus-visible,.ssi-btn:focus-visible,
.ssi-pagination a:focus-visible,.ssi-thumb:focus-visible,.ssi-search button:focus-visible,
.ssi-breadcrumb a:focus-visible{outline:3px solid var(--ssi-orange);outline-offset:2px;border-radius:4px;}

@media (prefers-reduced-motion: reduce){
  .ssi-card,.ssi-card-media img,.ssi-btn,.ssi-card-title,.ssi-thumb{transition:none !important;}
  .ssi-card:hover{transform:none;}
  .ssi-card:hover .ssi-card-media img{transform:none;}
}
