/*
Theme Name: MR Bridgeport Shop
Author: MR Bridgeport
Description: Independent apparel storefront theme with editable hero and plugin-ready shop pages.
Version: 1.2.7
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: mrbridgeport
*/
:root{--green:#004b39;--deep:#003e30;--ink:#101516;--muted:#60676b;--paper:#fff;--line:#e6e8e7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit}a:hover{color:var(--green)}img{max-width:100%;height:auto}.wrap{width:min(1260px,calc(100% - 40px));margin:auto}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden}.screen-reader-text:focus{clip:auto;height:auto;width:auto;z-index:1000;background:#fff;padding:12px}.announcement{background:var(--green);color:#fff;font-size:12px;letter-spacing:.06em}.announcement .wrap{display:flex;justify-content:space-between;gap:15px;padding:8px 0}.announcement a{text-decoration:none}.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:20}.header-inner{min-height:122px;display:flex;align-items:center;justify-content:space-between;gap:25px}.site-brand{flex:0 1 390px}.site-brand img{display:block;width:min(100%,390px);height:auto;max-height:120px;object-fit:contain}.site-brand a{display:block}.nav-area ul{list-style:none;display:flex;align-items:center;gap:28px;margin:0;padding:0}.nav-area a{text-decoration:none;text-transform:uppercase;font-size:14px;font-weight:700;letter-spacing:.02em}.nav-area .current-menu-item>a{color:var(--green);border-bottom:2px solid var(--green);padding-bottom:7px}.header-actions{display:flex;align-items:center;gap:18px}.menu-toggle{display:none;background:white;color:var(--green);border:1px solid var(--green);border-radius:4px;padding:9px 12px;cursor:pointer}.hero{color:#fff;min-height:440px;display:flex;align-items:center;background-position:center;background-size:cover;background-repeat:no-repeat}.hero.no-image{background:radial-gradient(circle at 80% 30%,#277965 0%,transparent 40%),linear-gradient(120deg,#00362a,#075b47)}.hero-content{padding:75px 0}.eyebrow{font-size:13px!important;letter-spacing:.18em;text-transform:uppercase;font-weight:700}.hero h1{font-size:clamp(2.7rem,5.2vw,5.3rem);font-weight:900;line-height:1.02;letter-spacing:-.035em;max-width:760px;margin:0 0 20px}.hero p{font-size:clamp(1rem,1.7vw,1.35rem);max-width:540px;line-height:1.5;margin:0 0 25px}.btn{display:inline-block;background:var(--green);color:#fff;text-decoration:none;border:1px solid #fff3;border-radius:4px;padding:13px 25px;font-weight:700;cursor:pointer}.btn:hover{background:#002e23;color:#fff}.btn-outline{background:#fff;color:var(--green);border-color:var(--green)}.btn-outline:hover{color:#fff}.benefits{border-bottom:1px solid var(--line);background:#fff}.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:25px 0}.benefits-grid>div{padding:8px 20px;border-right:1px solid #ddd}.benefits-grid>div:first-child{padding-left:0}.benefits-grid>div:last-child{border-right:0}.benefits-grid strong{display:block;font-size:14px}.benefits-grid span{display:block;font-size:13px;color:var(--muted)}.section{padding:65px 0}.section-title{text-align:center;margin-bottom:28px}.section-title h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:0}.section-title p{color:var(--muted);margin:4px 0}.collection-intro{border:1px solid var(--line);border-radius:10px;background:#fafcfb;padding:35px;text-align:center;max-width:720px;margin:0 auto}.collection-intro p{font-weight:600;margin:0 0 20px}.site-main{padding:55px 0;min-height:55vh}.content-wrap{max-width:960px}.site-main h1{font-size:clamp(2rem,4vw,3rem);line-height:1.2}.entry-content{max-width:800px}.entry-content a{color:var(--green)}.site-footer{background:#10231e;color:#fff;padding:55px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:40px}.site-footer h2{font-size:17px;margin:0 0 12px}.site-footer p{color:#cbd4d0;font-size:14px}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:5px 0}.site-footer a{text-decoration:none;color:#e5efeb}.footer-bottom{border-top:1px solid #4b5b56;margin-top:38px;padding-top:18px;font-size:12px;color:#cbd4d0}input,textarea,select{max-width:100%}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid #ce1e2d;outline-offset:3px}@media(max-width:1050px){.header-inner{gap:12px}.site-brand{flex-basis:280px}.nav-area ul{gap:14px}}@media(max-width:800px){.header-inner{flex-wrap:wrap;min-height:90px;padding:12px 0}.site-brand{flex:1 1 210px}.site-brand img{max-height:85px;max-width:260px}.menu-toggle{display:block}.nav-area{display:none;order:4;flex-basis:100%}.nav-area.is-open{display:block}.nav-area ul{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:8px 0}.nav-area li{border-top:1px solid var(--line)}.nav-area a{display:block;padding:10px 0}.header-actions{margin-left:auto}.benefits-grid{grid-template-columns:repeat(2,1fr);row-gap:12px}.benefits-grid>div:nth-child(2){border-right:0}.benefits-grid>div:nth-child(3){padding-left:0}.footer-grid{grid-template-columns:1fr 1fr}.hero{min-height:370px}}@media(max-width:520px){.announcement{font-size:10px}.announcement a{display:none}.site-brand img{max-width:210px}.hero{min-height:360px}.hero-content{padding:52px 0}.hero h1{font-size:2.65rem}.benefits-grid{grid-template-columns:1fr 1fr}.benefits-grid>div{padding:6px 8px}.benefits-grid strong{font-size:11px}.benefits-grid span{font-size:11px}.footer-grid{grid-template-columns:1fr}.section{padding:40px 0}}

/* v1.2.2: Airier header and clear separation around the brand mark. */
@media (min-width: 801px) {
  .header-inner { min-height: 178px; padding-top: 25px; padding-bottom: 30px; gap: 56px; }
  .site-brand { flex: 0 1 410px; min-width: 0; padding: 8px 0; }
  .site-brand img { width: min(100%, 375px); max-height: 105px; object-fit: contain; }
  .nav-area { margin-left: auto; }
  .nav-area ul { gap: 32px; }
}
@media (min-width: 801px) and (max-width: 1050px) {
  .header-inner { min-height: 154px; gap: 28px; padding-top: 22px; padding-bottom: 24px; }
  .site-brand { flex-basis: 320px; }
  .site-brand img { max-height: 95px; }
  .nav-area ul { gap: 18px; }
}
@media (max-width: 800px) {
  .header-inner { min-height: 125px; padding-top: 20px; padding-bottom: 22px; gap: 18px; }
  .site-brand { padding: 6px 0; }
  .site-brand img { max-height: 82px; }
}
@media (max-width: 520px) {
  .header-inner { min-height: 110px; padding-top: 18px; padding-bottom: 20px; }
  .site-brand img { max-height: 70px; max-width: 220px; }
}

/* v1.2.2: mobile-first refinements and resilient navigation */
html{overflow-x:clip}body{overflow-wrap:break-word}img,svg,video,iframe{max-width:100%}img{height:auto} .site-brand .custom-logo-link{display:block} .site-brand .custom-logo{width:min(100%,375px);height:auto;max-height:105px;object-fit:contain} .header-inner{min-width:0} .site-brand,.nav-area,.header-actions{min-width:0} .nav-area ul{flex-wrap:wrap;justify-content:flex-end} .entry-content img{height:auto} .entry-content table{display:block;max-width:100%;overflow-x:auto} .btn,.menu-toggle{min-height:44px} .menu-toggle{font-size:15px} .site-footer a{display:inline-block;padding:3px 0}
@media(max-width:800px){
 .wrap{width:calc(100% - 32px)} .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 18px;padding:22px 0 24px;min-height:unset} .site-brand{grid-column:1;grid-row:1;min-width:0;padding:0} .site-brand img,.site-brand .custom-logo{width:min(100%,275px);max-width:275px;max-height:90px} .menu-toggle{grid-column:2;grid-row:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;margin:0} .nav-area{grid-column:1/-1;grid-row:2;display:none;width:100%} .nav-area.is-open{display:block} .nav-area ul{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0;margin:0} .nav-area a{display:block;padding:13px 4px} .header-actions{grid-column:1/-1;grid-row:3;margin:0} .header-actions:empty{display:none} .hero{min-height:350px} .hero-content{padding:60px 0} .hero h1{font-size:clamp(2.1rem,7vw,3.6rem)} .benefits-grid{gap:0} .benefits-grid>div{min-width:0;padding:14px 16px} .footer-grid{gap:28px} .section{padding:52px 0}
}
@media(max-width:520px){
 .wrap{width:calc(100% - 28px)} .announcement .wrap{padding:9px 0} .announcement span{line-height:1.45} .header-inner{padding:20px 0 22px;gap:12px} .site-brand img,.site-brand .custom-logo{max-width:min(100%,230px);max-height:80px} .menu-toggle{padding:10px 12px} .hero{min-height:330px} .hero-content{padding:46px 0} .hero h1{font-size:clamp(2rem,9vw,2.7rem)} .hero p{font-size:1rem} .benefits-grid{grid-template-columns:1fr 1fr} .benefits-grid>div,.benefits-grid>div:first-child,.benefits-grid>div:nth-child(3){padding:12px 10px} .benefits-grid>div:nth-child(2n){border-right:0} .benefits-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)} .collection-intro{padding:24px 18px} .footer-grid{grid-template-columns:1fr;gap:22px} .site-footer{padding-top:42px} .section{padding:42px 0} .site-main{padding:35px 0}
}
@media(max-width:360px){.site-brand img,.site-brand .custom-logo{max-width:185px}.menu-toggle{font-size:13px;padding:8px}.benefits-grid{grid-template-columns:1fr}.benefits-grid>div{border-right:0!important;border-bottom:1px solid var(--line)}.benefits-grid>div:last-child{border-bottom:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* v1.2.3: The theme owns page presentation. Page titles remain in WordPress
   metadata/navigation but are not output as automatic visible headings. */
.content-wrap{width:min(100% - 40px,960px)}
.mrb-content-page .entry-content{max-width:100%;font-size:16px;line-height:1.8;overflow-wrap:anywhere}
.mrb-content-page .entry-content > :first-child{margin-top:0}
.mrb-content-page .entry-content h1{color:var(--ink);font-size:clamp(2rem,4vw,3rem);line-height:1.15;letter-spacing:-.025em;margin:0 0 1rem}
.mrb-content-page .entry-content h2{color:var(--green);font-size:clamp(1.35rem,2.8vw,1.7rem);line-height:1.35;margin:2.2rem 0 .8rem}
.mrb-content-page .entry-content h3{font-size:1.15rem;line-height:1.4;margin:1.7rem 0 .7rem}
.mrb-content-page .entry-content p{margin:0 0 1.1rem}
.mrb-content-page .entry-content ul,.mrb-content-page .entry-content ol{padding-left:1.5rem;margin:0 0 1.4rem}
.mrb-content-page .entry-content li{margin-bottom:.5rem}
.mrb-content-page .entry-content a{text-underline-offset:3px}
.mrb-content-page .entry-content blockquote{margin:1.5rem 0;padding:1.1rem 1.4rem;border-left:4px solid var(--green);background:#f0f6f2}
.mrb-content-page .entry-content hr{border:0;border-top:1px solid var(--line);margin:2rem 0}
.mrb-content-page .entry-content .wp-block-button__link{background:var(--green);color:#fff;border-radius:4px;padding:12px 22px;text-decoration:none}
.mrb-content-page .entry-content .wp-block-button__link:hover{background:var(--deep)}
.mrb-content-page .entry-content .wp-block-group{max-width:100%}
.mrb-content-page .entry-content figure{margin:1.5rem 0}
.mrb-content-page .entry-content table{width:100%;border-collapse:collapse}
.mrb-content-page .entry-content th,.mrb-content-page .entry-content td{border:1px solid var(--line);padding:10px 14px;text-align:left}
@media(max-width:600px){.content-wrap{width:calc(100% - 32px)}.site-main{padding:32px 0}.mrb-content-page .entry-content{font-size:15px}.mrb-content-page .entry-content h2{margin-top:1.8rem}}

/* v1.2.4: theme-owned responsive temporary storefront gallery */
.mrb-content-page .entry-content .mr-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:30px 0 42px;align-items:stretch}
.mrb-content-page .entry-content .mr-product-card{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 6px 24px rgba(0,0,0,.045);display:flex;flex-direction:column}
.mrb-content-page .entry-content .mr-product-card .mr-product-image{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;background:#f5f7f6;padding:18px;overflow:hidden}
.mrb-content-page .entry-content .mr-product-card img{display:block;width:100%;height:100%;max-height:100%;object-fit:contain;margin:0}
.mrb-content-page .entry-content .mr-product-card .mr-product-details{padding:17px 18px 20px;flex:1;display:flex;flex-direction:column;gap:6px}
.mrb-content-page .entry-content .mr-product-card h3{font-size:1.1rem;margin:0;color:var(--ink)}
.mrb-content-page .entry-content .mr-product-card p{margin:0;font-size:.92rem;color:var(--muted)}
.mrb-content-page .entry-content .mr-product-card .mr-product-price{font-size:1.12rem;font-weight:800;color:var(--green);margin-top:auto;padding-top:8px}
.mrb-content-page .entry-content .mr-shop-intro{max-width:720px}
.mrb-content-page .entry-content .mr-shop-note{padding:20px 24px;background:#f1f6f3;border-left:4px solid var(--green);border-radius:4px;margin:28px 0}
@media(max-width:850px){.mrb-content-page .entry-content .mr-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:520px){.mrb-content-page .entry-content .mr-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mrb-content-page .entry-content .mr-product-card .mr-product-image{padding:8px}.mrb-content-page .entry-content .mr-product-card .mr-product-details{padding:12px}.mrb-content-page .entry-content .mr-product-card h3{font-size:.95rem}.mrb-content-page .entry-content .mr-product-card p{font-size:.82rem}.mrb-content-page .entry-content .mr-product-card .mr-product-price{font-size:1rem}}
@media(max-width:360px){.mrb-content-page .entry-content .mr-product-grid{grid-template-columns:1fr}}

/* v1.2.5: Shop uses a true three-across catalog with smaller image frames. */
body.page-slug-shop .content-wrap,body.page-slug-shop .entry-content,
body.page-template-default:has(.mr-product-grid) .content-wrap{max-width:1160px}
.mrb-content-page .entry-content .mr-product-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px}
.mrb-content-page .entry-content .mr-product-card .mr-product-image{height:215px;aspect-ratio:auto;padding:12px}
.mrb-content-page .entry-content .mr-product-card .mr-product-image img{width:100%;height:100%;object-fit:contain;max-height:190px}
@media(max-width:760px){.mrb-content-page .entry-content .mr-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mrb-content-page .entry-content .mr-product-card .mr-product-image{height:180px}}
@media(max-width:420px){.mrb-content-page .entry-content .mr-product-grid{grid-template-columns:1fr!important}.mrb-content-page .entry-content .mr-product-card .mr-product-image{height:230px}}

/* v1.2.6: preserve the complete logo and optimize panoramic hero artwork. */
.site-header, .header-inner, .site-brand, .site-brand a { overflow: visible; }
.site-brand { align-self: center; padding: 0; }
.site-brand img, .site-brand .custom-logo {
  display: block; width: min(100%, 390px); max-width: 390px;
  height: auto; max-height: none; object-fit: contain;
}
@media (min-width: 801px) {
  .header-inner { min-height: 166px; padding-top: 28px; padding-bottom: 28px; }
  .site-brand { flex: 0 1 390px; }
}
@media (min-width: 801px) and (max-width: 1050px) {
  .header-inner { min-height: 145px; padding-top: 24px; padding-bottom: 24px; }
  .site-brand { flex-basis: 315px; }
  .site-brand img, .site-brand .custom-logo { max-width: 315px; }
}
@media (max-width: 800px) {
  .header-inner { padding-top: 20px; padding-bottom: 20px; }
  .site-brand img, .site-brand .custom-logo { width: min(100%, 275px); max-width: 275px; max-height: none; }
}
@media (max-width: 520px) {
  .site-brand img, .site-brand .custom-logo { width: min(100%, 225px); max-width: 225px; max-height: none; }
}
@media (max-width: 360px) {
  .site-brand img, .site-brand .custom-logo { max-width: 185px; }
}
/* The recommended hero art is 2103 x 748 (2.81:1). The 440px desktop
   hero has a similar ratio at the site's typical content width. */
.hero.has-image { background-position: center center; background-size: cover; }
@media (min-width: 801px) {
  .hero { min-height: 440px; }
  .hero-content { padding-top: 65px; padding-bottom: 65px; }
}
@media (max-width: 800px) {
  .hero.has-image { background-position: 60% center; }
}
@media (max-width: 520px) {
  .hero.has-image { background-position: 65% center; }
}

/* v1.2.7: Split hero: editable image stays fully visible at right, live text at left. */
.hero.has-image { position:relative; isolation:isolate; background:#003e30!important; overflow:hidden; }
.hero.has-image::before { content:""; position:absolute; z-index:-1; inset:0 0 0 43%; background-image:var(--mrb-hero-image); background-repeat:no-repeat; background-position:center; background-size:contain; }
.hero.has-image::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#003e30 0%,#003e30 31%,rgba(0,62,48,.88) 40%,rgba(0,62,48,0) 62%); pointer-events:none; }
.hero.has-image .hero-content { position:relative; z-index:1; }
.hero.has-image .hero-content h1 { max-width:520px; }
.hero.has-image .hero-content p:not(.eyebrow) { max-width:440px; }
.site-header .header-inner { overflow:visible; }
.site-brand, .site-brand a, .site-brand img, .site-brand .custom-logo { overflow:visible; }
@media(max-width:800px){
 .hero.has-image { display:block; }
 .hero.has-image::before { inset:auto 0 0 0; height:44%; background-size:contain; background-position:center bottom; }
 .hero.has-image::after { background:linear-gradient(180deg,#003e30 0%,#003e30 50%,rgba(0,62,48,.4) 75%,rgba(0,62,48,0) 100%); }
 .hero.has-image .hero-content { padding:38px 0 245px; }
 .hero.has-image .hero-content h1 { max-width:100%; }
}
@media(max-width:520px){ .hero.has-image .hero-content { padding-bottom:190px; } .hero.has-image::before { height:190px; } }
