/*
Theme Name: OnTime Promo
Template: twentytwentyfive
Description: Lightweight child theme for OnTime Promo & Apparel. Sticky header, quote-first CTAs, no extra scripts.
Version: 1.0.5
Text Domain: ontime
*/
:root{--otp-red:#a01d33;--otp-dark:#1f1f22}
html{scroll-padding-top:96px}
header.wp-block-template-part{position:sticky;top:0;z-index:100}
.otp-header{background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.08)}
.admin-bar header.wp-block-template-part{top:32px}
.otp-header .wp-block-site-logo img{height:auto;max-width:150px}
.otp-header .wp-block-navigation{font-weight:600;font-size:.95rem}
.otp-header .wp-block-navigation a:hover{color:var(--otp-red)}
.otp-header .wp-block-navigation .current-menu-item>a{color:var(--otp-red)}
.otp-phone a{font-weight:700;text-decoration:none;color:var(--otp-dark);white-space:nowrap}
.otp-phone a:hover{color:var(--otp-red)}
.wp-block-button__link{font-weight:700;transition:filter .15s}
.wp-block-button__link:hover{filter:brightness(1.12)}
.otp-quote-btn .wp-block-button__link{white-space:nowrap}
.otp-header .wp-block-navigation .otp-nav-call{display:none!important}
@media (max-width:781px){
  .admin-bar header.wp-block-template-part{top:0}
  .otp-header .wp-block-site-logo img{max-width:120px}
  .otp-phone{display:none}
  .otp-quote-btn .wp-block-button__link{padding:.55em 1em;font-size:.9rem}
  .otp-header .wp-block-navigation .otp-nav-call{display:flex!important}
}
.otp-tile{background:#fff;border:1px solid #e6e6e6;border-radius:10px;overflow:hidden;height:100%}
.otp-tile img{aspect-ratio:4/3;object-fit:cover;width:100%}
.otp-tile .otp-tile-body{padding:1rem 1.25rem 1.25rem}
.otp-brands img{max-height:56px;width:auto;max-width:150px;object-fit:contain;opacity:.85}
.otp-brands img:hover{opacity:1}
.otp-brands .wp-block-image{margin:0;display:flex;align-items:center;justify-content:center}
.otp-step-num{display:inline-flex;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--otp-red);color:#fff;font-weight:800;align-items:center;justify-content:center;font-size:1.2rem}
.otp-card{background:#f6f4f2;border-radius:10px;padding:1.5rem}
.otp-table{font-size:.95rem}
.otp-table td,.otp-table th{padding:.6rem .8rem}
.wp-block-cover.otp-hero h1{text-wrap:balance}
/* Contact Form 7 */
.wpcf7 form{display:grid;gap:1rem}
.otp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:600px){.otp-form-grid{grid-template-columns:1fr}}
.wpcf7 label{display:block;font-weight:600;font-size:.92rem}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 input[type=date],.wpcf7 select,.wpcf7 textarea{width:100%;box-sizing:border-box;padding:.7rem .8rem;border:1px solid #bdbdbd;border-radius:6px;font:inherit;margin-top:.3rem;background:#fff}
.wpcf7 textarea{min-height:140px}
.wpcf7 input[type=submit]{background:var(--otp-red);color:#fff;border:0;border-radius:6px;padding:.95rem 2rem;font-weight:700;font-size:1.05rem;cursor:pointer;justify-self:start}
.wpcf7 .otp-hint{font-weight:400;color:#555;font-size:.85rem}
.wpcf7 .otp-form-privacy{margin:-.4rem 0 0;font-size:.85rem;color:#555}
.wpcf7 .otp-form-privacy a{color:inherit;text-decoration:underline}
.is-contact-page .otp-footer-cta{display:none}
@media (max-width:600px){.otp-brands img{max-height:40px;max-width:110px}}
@media (max-width:781px){.otp-tile img{aspect-ratio:16/9}}
.wpcf7-form-control-wrap{display:block}
@media (min-width:782px){.is-contact-page main .wp-block-columns>.wp-block-column:first-child{flex-basis:60%!important;flex-grow:0}.is-contact-page main .wp-block-columns>.wp-block-column:last-child{flex-basis:40%!important}}
/* Brand logo grid (uniform 360x140 transparent canvases) */
.otp-brands-row{display:grid!important;grid-template-columns:repeat(6,1fr);gap:1.25rem 1.5rem!important;align-items:center;justify-items:center}
.otp-brands-row.otp-brands-all{grid-template-columns:repeat(7,1fr)}
.otp-brands-row .wp-block-image{margin:0!important;width:100%}
.otp-brands-row .otp-brands img{width:100%;max-width:220px;max-height:none;height:auto;aspect-ratio:18/7;margin:0 auto;display:block}
@media (max-width:781px){.otp-brands-row,.otp-brands-row.otp-brands-all{grid-template-columns:repeat(3,1fr);gap:.75rem 1rem!important}.otp-brands-row .otp-brands img{max-width:120px}}
.otp-hero .wp-block-cover__inner-container{text-shadow:0 1px 3px rgba(0,0,0,.7),0 2px 14px rgba(0,0,0,.55)}
/* Uniform 4:3 photo slots so owner photos drop in without changing the layout */
main .wp-block-columns .wp-block-image:not(.otp-brands) img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}

/* Brands: center the second row of category cards */
.otp-cards-center{justify-content:center}

/* Brands: keep golfers' heads in frame */
.otp-tile img.wp-image-14{object-position:50% 0}

/* Brands grid (26 logos): centered flex rows, 7-7-7-5 on desktop, 5 per row on tablets, 3 per row on phones (last row centered) */
.otp-brands-row.otp-brands-all{display:flex!important;flex-wrap:wrap;justify-content:center;gap:1.25rem 1.5rem!important}
.otp-brands-row.otp-brands-all>.wp-block-image{width:auto;flex:0 0 calc((100% - 6*1.5rem)/7)}
.otp-brands-row.otp-brands-all .otp-brands img{max-width:200px}
@media (max-width:1100px){.otp-brands-row.otp-brands-all>.wp-block-image{flex-basis:calc((100% - 4*1.5rem)/5)}}
@media (max-width:781px){.otp-brands-row.otp-brands-all{gap:.75rem 1rem!important}.otp-brands-row.otp-brands-all>.wp-block-image{flex-basis:calc((100% - 2*1rem)/3)}}
/* Home logo row (15 logos): 5 x 3 on desktop, 3 x 5 on phones */
.otp-brands-row.otp-brands-home{grid-template-columns:repeat(5,1fr)}
@media (max-width:781px){.otp-brands-row.otp-brands-home{grid-template-columns:repeat(3,1fr)}}

/* Catalogs page: cover cards, 5 across on desktop, 3 on tablets, 2 on phones (last row centered) */
.otp-catalog-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem}
.otp-catalog-grid>.otp-catalog{flex:0 0 calc((100% - 4*1.5rem)/5);margin:0!important;display:flex;flex-direction:column;height:auto}
.otp-catalog .otp-catalog-cover{margin:0}
.otp-catalog .otp-catalog-cover img{display:block;width:100%;height:auto;aspect-ratio:913/1100;object-fit:cover}
.otp-catalog .otp-tile-body{display:flex;flex-direction:column;flex:1}
.otp-catalog .otp-tile-body h3{font-size:1.1rem;margin-bottom:.4rem}
.otp-catalog .otp-tile-body p{font-size:.92rem;margin:.4rem 0}
.otp-catalog .otp-catalog-meta{color:#666;font-size:.8rem!important}
.otp-catalog .wp-block-buttons{margin-top:auto;padding-top:.6rem}
@media (max-width:1100px){.otp-catalog-grid>.otp-catalog{flex-basis:calc((100% - 2*1.5rem)/3)}}
@media (max-width:781px){.otp-catalog-grid{gap:1rem}.otp-catalog-grid>.otp-catalog{flex-basis:calc((100% - 1rem)/2)}.otp-catalog .otp-tile-body{padding:.75rem .85rem 1rem}.otp-catalog .otp-tile-body h3{font-size:1rem}.otp-catalog .otp-tile-body p{font-size:.85rem}.otp-catalog .wp-block-button__link{padding:.5em .9em;font-size:.85rem}}
/* Header: keep the 6-link nav on one line on small laptops/tablets */
@media (min-width:782px) and (max-width:1100px){.otp-header .wp-block-navigation{font-size:.88rem}.otp-header .wp-block-navigation .wp-block-navigation__container{gap:.9rem}.otp-header .wp-block-site-logo img{max-width:130px}}
@media (min-width:782px) and (max-width:960px){.otp-phone{display:none}.otp-header .wp-block-navigation .wp-block-navigation__container{gap:.75rem}.otp-quote-btn .wp-block-button__link{padding:.55em 1em;font-size:.88rem}}
/* Footer privacy link: own line on phones */
@media (max-width:600px){footer .otp-sep{display:none}footer .otp-privacy-link{display:block;margin-top:.35rem}}
.wpcf7 .otp-submit-row{display:flex;align-items:center;flex-wrap:wrap}
