/*
Theme Name: Kilroy 2027
Theme URI: https://kilroywashereshop.com/
Author: Kilroy Was Here Shop
Description: Kilroy 2027 homepage foundation. Seasonal header and featured slider are reserved plugin areas. Post/page layouts will be developed in later versions.
Version: 0.3.10
Text Domain: kilroy-2027
*/
:root{--kr-red:#b40000;--kr-dark:#080808;--kr-panel:#111;--kr-line:#383838;--kr-max:1536px;--kr-gap:8px}
*{box-sizing:border-box}html,body{background:#050505}body{margin:0;color:#eee;font-family:Arial,Helvetica,sans-serif;line-height:1.3}a{color:inherit}img{max-width:100%;height:auto;display:block}
.kr-site{width:100%;max-width:var(--kr-max);margin:0 auto;background:#080808;min-height:100vh;box-shadow:0 0 30px #000}
.kr-plugin-slot{background:#151515;color:#fff;text-align:center;border:2px dashed #666;display:flex;align-items:center;justify-content:center;padding:10px}.kr-header-slot{height:155px}.kr-slot-inner strong{display:block;font-size:24px}.kr-slot-inner span{display:block;color:#ccc;margin-top:4px}
.kr-nav{position:relative;z-index:20;background:#050505;border-top:2px solid var(--kr-red);border-bottom:2px solid #333}.kr-nav .menu{list-style:none;margin:0;padding:0 6px;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:0}.kr-nav .menu>li{position:relative;margin:0;flex:0 0 auto}.kr-nav .menu>li>a{display:block;color:#fff;text-decoration:none;font-weight:700;padding:10px 8px;white-space:nowrap;font-size:15px}.kr-nav .menu>li>a:hover{background:var(--kr-red)}
.kr-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:220px;margin:0;padding:0;list-style:none;background:#080808;border:1px solid #333;z-index:50}.kr-nav li:hover>.sub-menu,.kr-nav li:focus-within>.sub-menu{display:block}.kr-nav .sub-menu li{position:relative}.kr-nav .sub-menu a{display:block;color:#fff;text-decoration:none;padding:9px 12px;white-space:nowrap}.kr-nav .sub-menu a:hover{background:var(--kr-red)}.kr-nav .sub-menu .sub-menu{left:100%;top:0}
.kr-wrap{padding:8px 10px 12px;background:#080808}.kr-home-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:10px;align-items:start}.kr-home-main{min-width:0}.kr-slider-slot{width:100%;aspect-ratio:1200/630;min-height:0;max-height:520px}
.kr-category-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:8px 0}.kr-category-card{position:relative;background:#202020;border:1px solid #444;aspect-ratio:0.78;overflow:hidden;text-decoration:none;min-width:0}.kr-category-image{position:absolute;inset:0 0 75px 0;width:100%;height:calc(100% - 75px);object-fit:cover;object-position:center;display:block}.kr-category-title{position:absolute;left:0;right:0;bottom:31px;min-height:44px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.94);color:#fff;font-weight:800;text-align:center;padding:5px 3px;text-transform:uppercase;font-size:12px;line-height:1.08}.kr-category-button{position:absolute;left:10%;right:10%;bottom:5px;height:22px;display:flex;align-items:center;justify-content:center;background:var(--kr-red);color:#fff;font-weight:800;text-align:center;padding:3px 4px;text-transform:uppercase;font-size:9px;line-height:1;text-decoration:none}.kr-category-card:hover .kr-category-button,.kr-category-card:focus .kr-category-button{background:#d00000}
.kr-lower-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(150px,1.18fr);gap:8px;align-items:start}.kr-section-title{margin:0 0 6px;padding:6px 8px;background-color:var(--kr-red);background-image:linear-gradient(rgba(80,0,0,.12),rgba(80,0,0,.12)),url("https://kilroywashereshop.com/wp-content/uploads/2026/09/kilroy-bg.jpg");background-size:cover;background-position:center;color:#fff;text-transform:uppercase;font-size:18px;line-height:1.1}.kr-latest-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.kr-post-card,.kr-bio-card{background:#111;border:1px solid #3b3b3b;color:#fff;text-decoration:none;display:block;overflow:hidden;min-width:0}.kr-thumb{aspect-ratio:1200/630;background:#222;overflow:hidden}.kr-thumb img{width:100%;height:100%;object-fit:cover}.kr-post-card h3{font-size:11px;line-height:1.12;margin:5px 6px 6px}.kr-current-bio{margin:0;min-width:0}.kr-current-bio h3{font-size:11px;line-height:1.14;margin:5px 6px 6px}.kr-current-bio .kr-bio-card .kr-thumb{aspect-ratio:1200/630}
.kr-sidebar{min-width:0;color:#eee}.kr-sidebar .widget{background:#101010;border:1px solid #3a3a3a;margin:0 0 8px;padding:8px;overflow:hidden}.kr-sidebar .widget-title,.kr-sidebar h2{background:var(--kr-red);color:#fff;margin:-8px -8px 8px;padding:6px 8px;font-size:16px;text-transform:uppercase}.kr-sidebar ul{margin:0;padding-left:16px}.kr-sidebar li{margin:0 0 5px}.kr-sidebar a{color:#fff;text-decoration:none}.kr-sidebar a:hover{text-decoration:underline}.kr-sidebar img,.kr-sidebar iframe,.kr-sidebar video,.kr-sidebar embed,.kr-sidebar object{max-width:100%!important;width:100%;height:auto}.kr-sidebar .widget_search,.kr-sidebar .wp-block-search{display:none!important}.kr-empty{background:#111;border:1px solid #444;color:#ddd;padding:12px}.kr-footer{margin-top:0;background:#050505;color:#bbb;text-align:center;padding:14px;border-top:2px solid var(--kr-red)}
/* Keep the desktop homepage compact even inside the WordPress Customizer preview. */
@media(max-width:1180px){.kr-home-grid{grid-template-columns:minmax(0,1fr) 250px}.kr-nav .menu>li>a{padding-left:5px;padding-right:5px;font-size:13px}.kr-category-title{font-size:10px}.kr-category-button{font-size:8px}.kr-post-card h3,.kr-current-bio h3{font-size:10px}}
@media(max-width:820px){.kr-home-grid{grid-template-columns:1fr}.kr-category-grid{grid-template-columns:repeat(3,1fr)}.kr-latest-grid{grid-template-columns:repeat(2,1fr)}.kr-lower-grid{grid-template-columns:1fr}.kr-nav .menu{flex-wrap:wrap;justify-content:center}.kr-header-slot{height:140px}}
@media(max-width:560px){.kr-wrap{padding:7px}.kr-category-grid{grid-template-columns:repeat(2,1fr)}.kr-latest-grid{grid-template-columns:1fr}.kr-nav .menu{display:block}.kr-nav .sub-menu{position:static;display:none}.kr-nav li:hover>.sub-menu,.kr-nav li:focus-within>.sub-menu{display:block}.kr-slot-inner strong{font-size:19px}}

/* v0.1.6 footer */
.kr-footer{border-top:2px solid #b40000;background:#050505;color:#ddd;text-align:center;padding:18px 12px 20px;}
.kr-footer-nav{display:flex;justify-content:center;align-items:center;gap:22px;flex-wrap:wrap;margin-bottom:12px;}
.kr-footer-nav a{color:#fff;text-decoration:none;font-weight:700;font-size:14px;}
.kr-footer-nav a:hover,.kr-footer-nav a:focus{color:#e00000;}
.kr-footer-copy{font-size:14px;color:#ccc;}

/* v0.2.0 category, archive and search listings */
.kr-archive-grid{display:grid;grid-template-columns:285px minmax(0,1fr);gap:10px;align-items:start}
.kr-archive-content{min-width:0}
.kr-archive-card{background:#111;border:1px solid #444;color:#ddd;margin:0 0 16px;overflow:hidden}
.kr-archive-image{display:flex;width:550px;max-width:100%;height:290px;margin:0 auto;background:#181818;overflow:hidden;align-items:center;justify-content:center}
.kr-archive-image img{display:block;width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain;margin:auto}
.kr-archive-copy{padding:14px 16px 16px}
.kr-archive-copy h2{font-size:27px;line-height:1.18;margin:0 0 14px;color:#eee}
.kr-archive-copy h2 a{color:#eee;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.kr-archive-copy h2 a:hover{color:#fff}
.kr-archive-copy p{font-size:17px;line-height:1.45;margin:0;color:#eee}
.kr-pagination{margin:16px 0;color:#fff}
.kr-pagination a,.kr-pagination .current{display:inline-block;padding:6px 9px;margin-right:4px;border:1px solid #444;background:#111;color:#fff;text-decoration:none}
.kr-pagination .current{background:var(--kr-red)}
@media(max-width:820px){.kr-archive-grid{grid-template-columns:1fr}.kr-archive-sidebar{order:2}.kr-archive-content{order:1}.kr-archive-copy h2{font-size:22px}}


/* v0.3.1 singular post/page layouts, Travelify content + hero compatibility */
.kr-singular-wrap{padding-top:10px}
/* Travelify desktop geometry: 1018px wrapper / 978px container.
   Primary 65.64% (about 642px), secondary 31.28% (about 306px). */
.kr-singular-grid{display:grid;gap:30px;align-items:start;width:min(100%,978px);margin-left:auto;margin-right:auto}
.kr-layout-left-sidebar .kr-singular-grid{grid-template-columns:306px minmax(0,642px)}
.kr-layout-right-sidebar .kr-singular-grid{grid-template-columns:minmax(0,642px) 306px}
.kr-layout-no-sidebar .kr-singular-grid,.kr-layout-no-sidebar-full-width .kr-singular-grid,.kr-layout-no-sidebar-one-column .kr-singular-grid{display:block}
/* Kilroy 2027 No Sidebar: use most of the normal 978px inner area while retaining comfortable gutters. */
.kr-layout-no-sidebar .kr-singular-content{width:min(100%,940px);margin:0 auto}
/* Travelify Full Width uses the complete 978px inner container. */
.kr-layout-no-sidebar-full-width .kr-singular-content{width:100%;margin:0}
/* Travelify One Column is special: the whole site wrapper is 708px and its inner container is 668px. */
.kr-singular-layout-no-sidebar-one-column .kr-site,.kr-site.kr-site-one-column{max-width:708px}
.kr-layout-no-sidebar-one-column.kr-singular-wrap{width:min(calc(100% - 40px),668px);margin-left:auto;margin-right:auto;padding-left:0;padding-right:0}
.kr-layout-no-sidebar-one-column .kr-singular-grid{width:100%;max-width:668px}
.kr-layout-no-sidebar-one-column .kr-singular-content{width:100%;margin:0 auto}
.kr-singular-content{min-width:0;max-width:100%;background:#111;border:1px solid #3c3c3c;padding:16px;color:#eee;overflow:hidden}
.kr-post-title,.kr-page-title{font-size:30px;line-height:1.15;margin:0 0 16px;color:#fff}
.kr-entry-content{font-size:17px;line-height:1.55;overflow:hidden;overflow-wrap:anywhere;min-width:0;max-width:100%}
.kr-entry-content:after{content:"";display:table;clear:both}

/* Legacy WordPress / Travelify image alignment. */
.kr-entry-content figure,.kr-entry-content .wp-block-image,.kr-entry-content .wp-caption{max-width:100%!important}
.kr-entry-content img{max-width:100%!important;height:auto!important}
.kr-entry-content img.size-full,.kr-entry-content img.size-large{max-width:100%!important;height:auto!important}
.kr-entry-content .alignleft,.kr-entry-content img.alignleft{display:inline;float:left;max-width:48%!important;margin:0 30px 1.625em 0}
.kr-entry-content .alignright,.kr-entry-content img.alignright{display:inline;float:right;max-width:48%!important;margin:0 0 1.625em 30px}
.kr-entry-content .aligncenter,.kr-entry-content img.aligncenter{clear:both;display:block;float:none;margin-left:auto;margin-right:auto;margin-bottom:1.625em}
.kr-entry-content .alignnone{max-width:100%!important}
.kr-entry-content iframe,.kr-entry-content video,.kr-entry-content embed,.kr-entry-content object{max-width:100%!important}
.kr-entry-content table{max-width:100%;width:100%}

/* Internal article links: warm Kilroy gold/orange against black. */
.kr-entry-content a{color:#ffb000;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.kr-entry-content a:hover,.kr-entry-content a:focus{color:#ffd166}

/* Old Hero Image plugin: keep the hero inside the chosen content column. */
.kr-singular-content>.hero-image-wrapper,
.kr-singular-content>.kr-legacy-hero-in-content{width:100%!important;max-width:1200px!important;margin:0 auto 16px!important;background:#000;overflow:hidden}
.kr-singular-content>.hero-image-wrapper img,
.kr-singular-content>.kr-legacy-hero-in-content img{display:block;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;margin:0 auto!important}

@media(max-width:820px){
 .kr-layout-left-sidebar .kr-singular-grid,.kr-layout-right-sidebar .kr-singular-grid{grid-template-columns:1fr}
 .kr-layout-left-sidebar .kr-singular-sidebar{order:2}
 .kr-layout-left-sidebar .kr-singular-content{order:1}
 .kr-singular-content{padding:12px}
 .kr-post-title,.kr-page-title{font-size:25px}
 .kr-entry-content .alignleft,.kr-entry-content img.alignleft,.kr-entry-content .alignright,.kr-entry-content img.alignright{float:none;display:block;max-width:100%!important;margin:0 auto 1.25em}
}

/* v0.3.5 - Travelify No Sidebar, One Column shrinks the COMPLETE site shell.
   The 708px outer shell includes the seasonal header, navigation, content and footer.
   Navigation is allowed to wrap naturally inside that shell, matching Travelify. */
.kr-site.kr-site-one-column .kr-nav .menu{flex-wrap:wrap;justify-content:flex-start;padding-left:28px;padding-right:28px}
.kr-site.kr-site-one-column .kr-nav .menu>li>a{font-size:15px;padding:10px 13px}
.kr-site.kr-site-one-column .kr-header-slot,
.kr-site.kr-site-one-column header,
.kr-site.kr-site-one-column .kr-nav,
.kr-site.kr-site-one-column .kr-footer{max-width:100%}
@media(max-width:748px){
 .kr-site.kr-site-one-column{max-width:100%}
 .kr-layout-no-sidebar-one-column.kr-singular-wrap{width:calc(100% - 20px)}
 .kr-site.kr-site-one-column .kr-nav .menu{padding-left:6px;padding-right:6px;justify-content:center}
}

/* v0.3.8 - Travelify widget-area compatibility */
.kr-footer-widgets{width:100%;max-width:100%;margin:0 auto 18px;text-align:center}
.kr-footer-widgets .widget{margin:0 auto;padding:0;background:transparent;border:0}
.kr-footer-widgets .widget-title{display:none}
.kr-footer-widgets img{display:block;max-width:100%;height:auto;margin:0 auto}
.kr-footer-widgets iframe,.kr-footer-widgets embed,.kr-footer-widgets object{max-width:100%}
