/*
Theme Name: Town Gardens & City Pets Display
Author: Town Gardens & City Pets
Description: Navy and white responsive public animal display theme, without ecommerce or accounts.
Version: 1.10.0
Requires PHP: 7.4
*/
:root{--navy:#102b4e;--blue:#214b79;--pale:#eef3f9}*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;color:#24374c;line-height:1.55}a{text-decoration:none;color:inherit}a:hover{text-decoration:underline}.wrap{max-width:1200px;margin:auto;padding:0 22px}.top{background:var(--navy);color:white;padding:9px 0;font-size:13px}.head{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:19px;padding-bottom:19px}.logo{font-size:26px;font-weight:800;color:var(--navy)}.logo img{max-height:75px;width:auto}.search{display:flex;max-width:450px;flex:1;border:1px solid #cbd7e3;border-radius:28px;overflow:hidden}.search input{min-width:0;flex:1;border:0;padding:14px}.search button{border:0;background:var(--navy);color:white;padding:0 18px}.nav{background:var(--blue);color:white}.nav .wrap{display:flex;gap:26px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px;font-weight:bold}.hero{background:linear-gradient(90deg,#0b2545f2,#0b2545b0 55%,#0b254540),var(--navy);background-position:center;background-size:cover;color:white;padding:76px 0 95px}.hero h1{font:normal clamp(36px,5vw,62px)/1.1 Georgia,serif;max-width:700px;margin:12px 0}.hero p{max-width:550px;font-size:18px}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:12px}.btn{display:inline-block;background:var(--navy);color:white;border-radius:30px;padding:12px 22px;font-weight:bold;margin:6px 8px 0 0}.btn.white{background:white;color:var(--navy)}.btn.outline{border:1px solid white;background:transparent}.departments{position:relative;margin-top:-42px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.dept{height:205px;border-radius:15px;overflow:hidden;display:flex;align-items:end;background:linear-gradient(150deg,#7f9ab6,#173a61);background-position:center;background-size:cover}.dept span{background:linear-gradient(transparent,#071c37ed);padding:35px 14px 15px;width:100%;color:white;font-weight:bold;font-size:18px}.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;text-align:center;padding-top:34px;padding-bottom:34px;color:var(--navy);font-weight:bold}.section{padding:58px 0}.section.alt{background:var(--pale)}h2{font:normal 38px Georgia,serif;color:var(--navy);margin:0 0 10px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.section-header p{margin:0}.placeholder{padding:32px;border:1px dashed #a5b8ce;border-radius:12px;background:white}.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{border:1px solid #dce5ee;border-radius:14px;padding:28px}.panel h3{color:var(--navy)}footer{background:var(--navy);color:white;padding:35px 0}.content{padding:45px 22px;min-height:50vh}.menu-toggle{display:none}.screen-reader-text{position:absolute;left:-9999px}@media(max-width:700px){.head{flex-wrap:wrap}.logo{font-size:20px}.search{order:3;flex-basis:100%;max-width:none}.menu-toggle{display:block;border:0;background:var(--navy);color:white;padding:10px}.nav{display:none}.nav.open{display:block}.nav .wrap{flex-direction:column;gap:14px}.hero{padding:50px 0 65px}.hero h1{font-size:36px}.departments{grid-template-columns:repeat(2,1fr);gap:9px;margin-top:-24px}.dept{height:155px}.dept span{font-size:15px}.benefits{grid-template-columns:repeat(2,1fr);font-size:13px}.section{padding:42px 0}.section-header{display:block}.two{grid-template-columns:1fr}h2{font-size:30px}}

/* v1.1: responsive logo and reliable primary navigation */
.head .logo{display:block;flex:0 1 auto;min-width:0;max-width:100%}
.head .logo .custom-logo-link{display:block;line-height:0}
.head .logo img,.head .logo .custom-logo{display:block;width:var(--logo-desktop,320px)!important;max-width:100%!important;height:auto!important;max-height:none!important;object-fit:contain}
.head .search{min-width:180px}
.nav .wrap{display:block;padding-top:0;padding-bottom:0}
.nav .primary-menu{display:flex;align-items:center;gap:0;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.nav .primary-menu>li{position:relative;margin:0;padding:0}
.nav .primary-menu>li>a,.nav .wrap>a{display:inline-block;padding:14px 17px;color:white}
.nav .primary-menu>li>a:hover,.nav .primary-menu>li:focus-within>a,.nav .wrap>a:hover{background:#102b4e;text-decoration:none}
.nav .primary-menu .sub-menu{display:none;position:absolute;top:100%;left:0;z-index:20;min-width:210px;background:#214b79;list-style:none;margin:0;padding:4px 0;box-shadow:0 8px 18px #0002}
.nav .primary-menu li:hover>.sub-menu,.nav .primary-menu li:focus-within>.sub-menu{display:block}
.nav .primary-menu .sub-menu a{display:block;padding:10px 16px;color:white}
.nav .primary-menu .sub-menu a:hover{background:#102b4e}
@media(min-width:701px) and (max-width:1024px){.head .logo img,.head .logo .custom-logo{width:var(--logo-tablet,240px)!important}.head{gap:16px}}
@media(max-width:700px){.head .logo img,.head .logo .custom-logo{width:var(--logo-mobile,185px)!important}.head .logo{flex:1 1 auto}.nav .wrap{padding:8px 22px}.nav .primary-menu{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav .primary-menu>li>a,.nav .wrap>a{display:block;padding:12px 8px;border-bottom:1px solid #ffffff26}.nav .primary-menu .sub-menu{display:block;position:static;box-shadow:none;background:#102b4e;padding-left:12px}.menu-toggle{cursor:pointer;border-radius:6px}}

/* Latest Arrivals responsive cards */
.arrival-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.arrival-card{display:block;background:white;border:1px solid #dce5ee;border-radius:14px;overflow:hidden;box-shadow:0 3px 12px #102b4e0c}
.arrival-card:hover{box-shadow:0 8px 24px #102b4e24;text-decoration:none}
.arrival-card img{width:100%;height:190px;object-fit:cover;display:block}
.arrival-body{padding:15px}.arrival-body h3{color:var(--navy);margin:0 0 6px;font-size:18px}.arrival-body p{margin:0 0 8px;font-size:14px}.arrival-status{font-size:13px;font-weight:700;color:var(--blue)}
@media(max-width:900px){.arrival-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.arrival-grid{gap:10px}.arrival-card img{height:140px}.arrival-body{padding:11px}.arrival-body h3{font-size:15px}}

/* v1.3: landscape logo never cropped; explicit per-device width controls */
.head .logo {min-width:0;max-width:100%;flex-shrink:1}
.head .logo .tgcp-logo-link {display:block;line-height:0;max-width:100%}
.head .logo .tgcp-header-logo-image {display:block;width:var(--logo-desktop,320px)!important;max-width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:left center}
@media(min-width:701px) and (max-width:1024px){.head .logo .tgcp-header-logo-image{width:var(--logo-tablet,240px)!important}}
@media(max-width:700px){.head .logo .tgcp-header-logo-image{width:var(--logo-mobile,185px)!important}}

/* v1.4 header, contact links and visit page */
.head{background:var(--tgcp-header-bg,#fff);max-width:none;padding-left:max(22px,calc((100vw - 1156px)/2));padding-right:max(22px,calc((100vw - 1156px)/2))}
.nav{background:var(--tgcp-nav-bg,#214b79)}
.top-items{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.top-item{display:inline-flex;align-items:center;gap:7px;color:#fff;text-decoration:none;min-height:32px}
.top-item:hover,.top-item:focus-visible{color:#fff;text-decoration:underline}
.top-short{display:none}
.visit-hero{background:#102b4e;color:#fff;padding:52px 0}
.visit-hero h1{font:normal clamp(34px,5vw,54px)/1.12 Georgia,serif;margin:10px 0}
.visit-hero p{font-size:18px}
.visit-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:35px;padding-top:48px;padding-bottom:55px}
.visit-detail{border-bottom:1px solid #dce5ee;padding:10px 0 17px}
.visit-detail h3{margin:6px 0;color:#102b4e}
.visit-detail p{margin:6px 0}
.visit-detail a,.visit-map a{color:#214b79;text-decoration:underline}
.visit-map iframe{display:block;width:100%;height:370px;border:0;border-radius:12px;background:#eef3f9}
@media(max-width:700px){.top{padding:4px 0}.top-items{flex-wrap:nowrap;justify-content:space-around;gap:0;padding:0 6px}.top-item{flex:1;justify-content:center;flex-direction:column;gap:0;font-size:12px;min-height:52px;padding:4px 2px;text-align:center}.top-item+.top-item{border-left:1px solid #ffffff40}.top-item>span:first-child{font-size:18px;line-height:1.2}.top-long{display:none}.top-short{display:inline}.head{padding:13px 18px}.visit-layout{grid-template-columns:1fr;gap:22px;padding-top:30px}.visit-map iframe{height:300px}}

/* v1.5 independent arrival carousels */
.tgcp-arrival-department{margin-bottom:42px}.tgcp-arrival-department:last-child{margin-bottom:0}.tgcp-arrival-department .section-header h2{font-size:30px;margin:0}.tgcp-arrival-department .section-header a{color:#214b79;text-decoration:underline;font-weight:bold}.tgcp-arrival-slider{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 16px;scrollbar-width:thin}.tgcp-arrival-slider .arrival-card{flex:0 0 235px;scroll-snap-align:start}.arrival-fallback{height:190px;display:grid;place-items:center;background:#e6edf6;font-size:48px}@media(max-width:1024px){.top{padding:4px 0}.top-items{flex-wrap:nowrap;justify-content:space-around;gap:0;padding:0 6px}.top-item{flex:1;justify-content:center;flex-direction:column;gap:0;font-size:12px;min-height:52px;padding:4px 2px;text-align:center}.top-item+.top-item{border-left:1px solid #ffffff40}.top-long{display:none}.top-short{display:inline}.menu-toggle{display:block;cursor:pointer}.nav{display:none}.nav.open{display:block}.nav .primary-menu{display:flex;flex-direction:column;align-items:stretch}.nav .primary-menu>li>a{display:block}.departments{grid-template-columns:repeat(2,minmax(0,1fr))}.tgcp-arrival-slider .arrival-card{flex-basis:210px}}@media(max-width:480px){.tgcp-arrival-slider .arrival-card{flex-basis:72vw}.tgcp-arrival-department .section-header h2{font-size:24px}}

/* Department news and updates */
.tgcp-news{background:#f5f7fb;padding:48px 0}.tgcp-news-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.tgcp-news-head h2{margin:0;color:#102b4e}.tgcp-news-head a{color:#214b79;font-weight:700}.tgcp-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.tgcp-news-card{background:#fff;border:1px solid #dce4ef;border-radius:16px;overflow:hidden}.tgcp-news-card a{display:block;text-decoration:none;color:#102b4e;height:100%}.tgcp-news-card img{display:block;width:100%;height:185px;object-fit:cover}.tgcp-news-body{padding:20px}.tgcp-news-body time{font-size:.8rem;color:#63758b}.tgcp-news-body h3{margin:9px 0;font-size:1.1rem}.tgcp-news-body p{color:#475569}.tgcp-news-body span{font-weight:700}@media(max-width:900px){.tgcp-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.tgcp-news{padding:32px 0}.tgcp-news-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:12px}.tgcp-news-card{flex:0 0 82%;scroll-snap-align:start}.tgcp-news-head h2{font-size:1.4rem}}

/* v1.7 small, accessible information links in the site footer */
.tgcp-footer-links,.tgcp-footer-menu{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;margin:12px 0;padding:0}
.tgcp-footer-links a,.tgcp-footer-menu a{font-size:12px;line-height:1.6;color:inherit;text-decoration:underline;text-underline-offset:3px;opacity:.9}
.tgcp-footer-links a:hover,.tgcp-footer-menu a:hover{opacity:1}
.tgcp-footer-links a:focus-visible,.tgcp-footer-menu a:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* v1.8 licensing: readable, understated, responsive footer block */
.tgcp-licensing-footer{margin:20px 0 16px;padding:17px 0;border-top:1px solid rgba(255,255,255,.22);font-size:12px;line-height:1.6;color:#dce6f2}
.tgcp-licensing-footer h2{font:600 14px/1.4 Arial,sans-serif;color:#fff;margin:0 0 9px}
.tgcp-licensing-footer p{margin:3px 0;overflow-wrap:anywhere}
.tgcp-licensing-footer a{display:inline-block;margin-top:9px;color:#fff;text-decoration:underline;text-underline-offset:3px}
.tgcp-licensing-footer a:focus-visible{outline:2px solid white;outline-offset:3px}
.tgcp-licensing-footer .tgcp-license-admin-note{color:#fff0bf}
.tgcp-license-details{padding:14px 18px;background:#eef3f9;border-radius:8px;margin-bottom:20px}
.tgcp-license-details p{margin:5px 0;overflow-wrap:anywhere}
@media(max-width:700px){.tgcp-licensing-footer{margin-top:16px;padding-top:14px}}

/* v1.9: balanced two-column footer, stacked on small screens */
.tgcp-footer-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,6vw,100px);align-items:start}
.tgcp-footer-about,.tgcp-footer-license-column{min-width:0}
.tgcp-footer-about>strong{display:block;font-size:17px;margin-bottom:16px}
.tgcp-footer-about>p{margin:0 0 18px}
.tgcp-footer-license-column .tgcp-licensing-footer{margin:0;padding:0;border-top:0}
.tgcp-footer-license-column .tgcp-licensing-footer h2{font-size:16px;margin:0 0 12px}
.tgcp-footer-bottom{margin-top:28px;padding-top:19px;border-top:1px solid rgba(255,255,255,.22)}
.tgcp-footer-bottom small{font-size:12px;line-height:1.6}
@media(max-width:700px){.tgcp-footer-columns{grid-template-columns:minmax(0,1fr);gap:24px}.tgcp-footer-license-column{padding-top:20px;border-top:1px solid rgba(255,255,255,.22)}.tgcp-footer-bottom{margin-top:22px}}

/* v1.10: force desktop columns and avoid cached v1.8 layout */
@media (min-width: 701px) {
  .tgcp-site-footer > .wrap > .tgcp-footer-columns {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    align-items: start;
    column-gap: clamp(24px, 5vw, 90px);
  }
  .tgcp-site-footer .tgcp-footer-license-column .tgcp-licensing-footer {
    border-top: 0 !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
  }
}
@media (max-width: 700px) {
  .tgcp-site-footer > .wrap > .tgcp-footer-columns {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
