/*
Theme Name: Daily Home Insights
Theme URI: https://dailyhomeinsights.co.uk
Author: Daily Home Insights
Description: Light warm magazine theme for Daily Home Insights — off-white background, deep navy and lime green, Playfair Display headlines with Inter body text. Home improvement + travel blog layout with sticky header, category photo cards and a dark card footer.
Version: 1.5
Text Domain: dhi
*/
:root{--bg:#FAF8F2;--card:#fff;--navy:#152A3D;--navy2:#0E1E2D;--panel:#1C364E;--ink:#25333F;--mut:#6B7680;--org:#F5B800;--org-d:#D9A400;--line:#EAE3C8;--tint:#FBF6E3;--tint2:#FDF9EC;--shadow:0 8px 24px rgba(21,42,61,.09)}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:'Inter','Segoe UI',Arial,sans-serif;font-size:16px;line-height:1.6}
h1,h2,h3,.brand .name,.postcard h3,.catcard .t,a{color:var(--org);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 18px}



.site-head{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:60;box-shadow:0 2px 14px rgba(21,42,61,.06)}
body.admin-bar .site-head{top:32px}
.head-row{display:flex;align-items:center;gap:20px;padding-top:13px;padding-bottom:13px}
.brand{display:flex;align-items:center;gap:11px;white-space:nowrap;flex:none}
.brand .mark{width:44px;height:44px;flex:none;border-radius:11px;background:linear-gradient(140deg,#FFD34D,var(--org) 60%,var(--org-d));display:grid;place-items:center;box-shadow:0 5px 14px rgba(245,184,0,.35)}
.brand .mark svg{width:25px;height:25px;display:block}
.brand .name{font-size:23px;font-weight:800;line-height:1.1}
.brand .name a{text-decoration:none}
.brand .name .w1{color:var(--navy)}
.brand .name .w2{color:var(--org)}
.mainnav{flex:1}
.mainnav ul{list-style:none;display:flex;justify-content:flex-end;gap:20px;flex-wrap:wrap;margin:0;padding:0}
.mainnav a{color:var(--navy);font-size:14px;font-weight:600;white-space:nowrap;padding:4px 2px;border-bottom:2px solid transparent}
.mainnav a:hover{color:var(--org);text-decoration:none;border-bottom-color:var(--org)}
.mainnav li.current-menu-item a,.mainnav li.current_page_item a{color:var(--org);border-bottom-color:var(--org)}
.mainnav>ul{flex-wrap:nowrap}
.mainnav li{position:relative}
.mainnav .menu-item-has-children>a::after{content:"\25BE";margin-left:5px;font-size:11px;color:var(--org)}
.mainnav .sub-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 40px rgba(21,42,61,.16);padding:12px;display:none;grid-template-columns:1fr;gap:2px;min-width:200px;z-index:80}
.mainnav li:hover>.sub-menu,.mainnav li:focus-within>.sub-menu{display:grid}
.mainnav .sub-menu li{position:static}
.mainnav .sub-menu a{display:block;padding:8px 11px;border-bottom:none;border-radius:8px;font-size:13.5px;white-space:nowrap}
.mainnav .sub-menu a:hover{background:var(--tint);color:var(--org-d)}
@media(max-width:900px){.mainnav .sub-menu{position:static;transform:none;display:grid;box-shadow:none;border:none;padding:2px 0 6px 14px;min-width:0;background:transparent}.mainnav .sub-menu a{padding:6px 4px}}

.head-search{display:flex;align-items:center;position:relative;flex:none;margin-left:16px}
.head-search svg{position:absolute;left:13px;width:16px;height:16px;color:var(--org-d);pointer-events:none}
.head-search input{width:205px;border:1.5px solid var(--line);border-radius:999px;background:#fff;padding:10px 16px 10px 38px;font-size:13.5px;color:var(--ink);outline:none;transition:.2s;font-family:inherit}
.head-search input:focus{border-color:var(--org);box-shadow:0 0 0 3px rgba(245,184,0,.15);width:235px}
@media(max-width:1100px){.head-search{display:none}}
.head-actions{display:flex;gap:8px;flex:none}
.icon-btn{width:40px;height:40px;border:1px solid var(--line);background:#fff;border-radius:50%;display:grid;place-items:center;color:var(--navy);cursor:pointer;transition:.2s;padding:0}
.icon-btn svg{width:19px;height:19px;display:block}
.icon-btn:hover{border-color:var(--org);color:var(--org)}
.nav-toggle{display:none}
.searchbar{display:none;border-top:1px solid var(--line);background:#FDFFFB;padding:13px 0}
.searchbar.open{display:block}
.searchbar .search-form{display:flex;gap:10px;max-width:640px;margin:0 auto}
.searchbar label{flex:1;display:flex}
.searchbar input[type="search"]{flex:1;width:100%;padding:11px 14px;border:1.5px solid var(--line);border-radius:9px;font-size:14.5px;font-family:inherit;background:#fff;color:var(--ink)}
.searchbar input[type="search"]:focus{outline:none;border-color:var(--org)}
.searchbar .search-submit{background:var(--org);color:#fff;border:none;font-weight:700;padding:11px 20px;border-radius:9px;font-size:14px;cursor:pointer;font-family:inherit}
.searchbar .search-submit:hover{background:var(--org-d)}
.ticker{background:var(--navy2);color:#C9D4DC;font-size:12.5px;overflow:hidden;white-space:nowrap}
.ticker .wrap{display:flex;align-items:center;gap:14px;padding-top:8px;padding-bottom:8px}
.ticker .lbl{background:var(--org);color:#fff;font-weight:800;font-size:11px;padding:3px 9px;border-radius:3px;letter-spacing:1px;flex:none}
.ticker .track{display:inline-block;animation:tick 40s linear infinite}
.ticker a{color:#C9D4DC;margin-right:44px}
.ticker a:hover{color:#fff}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.btn{display:inline-block;background:var(--org);color:#fff;font-weight:700;padding:12px 21px;border-radius:9px;font-size:14px;white-space:nowrap;transition:.2s;box-shadow:0 5px 15px rgba(245,184,0,.3);border:1.5px solid var(--org)}
.btn:hover{background:var(--org-d);border-color:var(--org-d);text-decoration:none;transform:translateY(-1px)}
.btn.ghost{background:transparent;border:1.5px solid var(--navy);box-shadow:none;color:var(--navy)}
.btn.ghost:hover{background:var(--navy);color:#fff}
.btn.navy{background:var(--navy);border-color:var(--navy);box-shadow:0 5px 15px rgba(21,42,61,.3)}
.btn.navy:hover{background:var(--navy2)}
.hero{position:relative;overflow:hidden;background:var(--navy);min-height:600px;display:flex;align-items:center;padding:72px 0}
.hero-slide{position:absolute;inset:0;opacity:0;animation:dhiFade 18s infinite}
.hero-slide img{width:100%;height:100%;object-fit:cover;transform:scale(1);animation:dhiZoom 18s infinite}
.hero-slide:nth-of-type(1),.hero-slide:nth-of-type(1) img{animation-delay:0s}
.hero-slide:nth-of-type(2),.hero-slide:nth-of-type(2) img{animation-delay:6s}
.hero-slide:nth-of-type(3),.hero-slide:nth-of-type(3) img{animation-delay:12s}
@keyframes dhiFade{0%{opacity:0}5%{opacity:1}33%{opacity:1}38%{opacity:0}100%{opacity:0}}
@keyframes dhiZoom{0%{transform:scale(1)}38%{transform:scale(1.12)}100%{transform:scale(1.12)}}
.hero-overlay{position:absolute;inset:0;z-index:2}
.hero .wrap{position:relative;z-index:5;width:100%}
.hero-content{max-width:640px}
.hero .btn.ghost{border-color:#fff;color:#fff;background:rgba(255,255,255,.08);box-shadow:none}
.hero .btn.ghost:hover{background:rgba(255,255,255,.2)}
@media (prefers-reduced-motion: reduce){.hero-slide{animation:none;opacity:0}.hero-slide:first-of-type{opacity:1}.hero-slide img{animation:none}}

.hero-kicker{color:#FFE082;font-size:12px;font-weight:800;letter-spacing:2.4px;text-transform:uppercase}
.hero h1{color:#fff;font-size:56px;line-height:1.08;margin:12px 0 0;font-weight:800}
.hero h1 .o{color:#FFD34D}
.hero p{color:rgba(255,255,255,.9);font-size:16px;max-width:520px;margin:18px 0 0;line-height:1.7}
.hero .cta{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}

.band{padding:36px 0 8px}
.band h2,.section h2,.about-sec h2,.newsletter h2{color:var(--navy);font-size:31px;font-weight:700;text-align:center;margin:0}
.rule{width:52px;height:4px;border-radius:2px;background:var(--org);margin:12px auto 22px}
.sec-sub{text-align:center;color:var(--mut);max-width:620px;margin:-8px auto 4px;font-size:15px}
.catgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-bottom:26px}
.catcard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 14px 16px;display:block;box-shadow:0 4px 14px rgba(21,42,61,.05);transition:.2s}
.catcard:hover{text-decoration:none;transform:translateY(-3px);box-shadow:var(--shadow);border-color:#DCC9AE}
.catcard .cthumb{display:block;aspect-ratio:3/2;border-radius:9px;overflow:hidden;margin-bottom:12px}
.catcard .cthumb img{width:100%;height:100%;object-fit:cover;transition:.3s}
.catcard:hover .cthumb img{transform:scale(1.06)}
.catcard .num{color:var(--org);font-size:17px;font-weight:700;font-family:'Playfair Display',Georgia,serif}
.catcard .t{color:var(--navy);font-size:17px;font-weight:700;margin-top:3px;line-height:1.3}
.catcard .s{color:var(--mut);font-size:12px;margin-top:3px}
.section{padding:34px 0 8px}
.section.tint{background:var(--tint)}
.section.travel-spot{background:var(--tint2)}
.postgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;padding:4px 0 36px}
.postcard{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 14px rgba(21,42,61,.05);transition:.2s}
.postcard:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.postcard .thumb{height:172px;background:linear-gradient(120deg,#B7C6CF,#7E97A8);overflow:hidden;position:relative;flex:none}
.postcard .thumb img{width:100%;height:100%;object-fit:cover}
.postcard .fbadge{position:absolute;top:10px;left:10px;background:var(--org);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;padding:4px 9px;border-radius:5px}
.postcard .body{padding:16px;display:flex;flex-direction:column;flex:1}
.postcard .cat{color:var(--org);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.postcard .cat:hover{color:var(--org-d)}
.postcard h3{font-size:17.5px;line-height:1.4;margin:6px 0 0;font-weight:700}
.postcard h3 a{color:var(--navy)}
.postcard h3 a:hover{color:var(--org);text-decoration:none}
.postcard .ex{color:var(--mut);font-size:13px;margin-top:7px;line-height:1.55;flex:1}
.postcard .meta{color:#98A1A8;font-size:11.5px;margin-top:9px}
.postcard .btn{align-self:flex-start;padding:8px 14px;font-size:12px;margin-top:11px}
.about-sec{padding:40px 0 44px}
.about-sec .wrap{max-width:780px;text-align:center}
.about-sec p{color:#4A5864;font-size:15.5px;line-height:1.75;margin:0 0 22px}
.newsletter{background:linear-gradient(120deg,#FFD34D,var(--org) 55%,var(--org-d));padding:40px 0 44px}
.newsletter h2{color:#fff}
.newsletter p{text-align:center;color:#EAF7D8;font-size:15px;margin:10px auto 0;max-width:560px}
.news-form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.news-form input[type="email"]{width:min(380px,90vw);padding:13px 16px;border:none;border-radius:9px;font-size:14.5px;font-family:inherit;color:var(--ink)}
.news-form input[type="email"]:focus{outline:3px solid rgba(21,42,61,.35)}
.content{padding:36px 0 46px}
.content .wrap{max-width:820px}
.post-title,.page-title{color:var(--navy);font-size:37px;line-height:1.25;margin:0 0 10px;font-family:'Playfair Display',Georgia,serif;font-weight:800}
.post-meta{color:var(--mut);font-size:13px;margin-bottom:18px}
.post-meta .cat{color:var(--org);font-weight:800;text-transform:uppercase;font-size:11.5px;letter-spacing:.5px}
.content img{border-radius:12px}
.entry{color:#33424E;font-size:16.5px}
.entry h2{color:var(--navy);font-size:26px;margin:30px 0 10px;font-family:'Playfair Display',Georgia,serif;position:relative;transition:transform .25s ease,color .25s ease,padding-left .25s ease}
.entry h2::before{content:"";position:absolute;left:0;top:14%;height:72%;width:4px;border-radius:2px;background:var(--org);opacity:0;transform:scaleY(.35);transition:opacity .25s ease,transform .25s ease}
.entry h2:hover{transform:translateX(6px);color:var(--org);padding-left:15px}
.entry h2:hover::before{opacity:1;transform:scaleY(1)}
.entry h3{color:var(--navy);font-size:20px;margin:24px 0 8px;font-family:'Playfair Display',Georgia,serif}
.entry p{margin:0 0 14px}
.entry ul,.entry ol{margin:0 0 14px;padding-left:22px}
.entry li{margin-bottom:6px}
.entry img{border-radius:10px;margin:14px 0}
.entry table{border-collapse:collapse;width:100%;margin:14px 0}
.entry th,.entry td{border:1px solid var(--line);padding:8px 10px;text-align:left}
.entry th{background:var(--navy);color:#fff}
.loop{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;padding:24px 0 36px}
.archive-head{padding:38px 0 2px;text-align:center}
.archive-head h1{color:var(--navy);font-size:33px;margin:0;font-family:'Playfair Display',Georgia,serif;font-weight:800}
.archive-head p{color:var(--mut);margin:9px auto 0;max-width:640px}
.pagination{padding:6px 0 40px;text-align:center}
.pagination a,.pagination span{display:inline-block;background:#fff;border:1px solid var(--line);color:var(--navy);padding:8px 14px;border-radius:8px;margin:0 3px;font-weight:600}
.pagination a:hover{border-color:var(--org);color:var(--org);text-decoration:none}
.pagination .current{background:var(--org);border-color:var(--org);color:#fff}
.nf-code{font-family:'Playfair Display',Georgia,serif;font-size:96px;font-weight:800;color:var(--org);line-height:1}
.empty-note{color:var(--mut);text-align:center;padding:26px 0 40px;grid-column:1/-1}
.dhi-foot{margin:0;padding:30px 0 22px;border-top:3px solid var(--org);background:var(--navy);color:#C9D4DC}
.dhi-foot .foot-inner{max-width:1180px;margin:0 auto;padding:0 18px}
.dhi-foot .footer-grid{display:grid;grid-template-columns:1.25fr .75fr 1.2fr 1fr;gap:12px}
.dhi-foot .footer-card{min-height:240px;padding:24px;border:1px solid #28455E;border-top:3px solid var(--org);border-radius:16px;background:var(--panel)}
.dhi-foot .footer-brand{margin-bottom:16px}
.dhi-foot .footer-logochip{display:inline-block;background:#fff;border-radius:12px;padding:9px 14px;line-height:0}
.dhi-foot .footer-logochip img{height:44px;width:auto}
.dhi-foot .footer-card h3{font-family:'Playfair Display',Georgia,serif;font-size:19px;margin:0 0 17px;padding-bottom:11px;position:relative;color:#fff;letter-spacing:.2px}
.dhi-foot .footer-card h3::after{content:"";position:absolute;left:0;bottom:0;width:32px;height:2px;background:var(--org);border-radius:2px}
.dhi-foot .footer-card p{color:#A9BAC6;font-size:13.5px;line-height:1.6;margin:0}
.dhi-foot .socials{display:flex;gap:8px;margin-top:19px}
.dhi-foot .social-icon{width:35px;height:35px;border:1px solid #33536E;border-radius:50%;display:grid;place-items:center;color:#D5DFE7;transition:.2s}
.dhi-foot .social-icon:hover{background:var(--org);border-color:var(--org);color:#fff;transform:translateY(-2px)}
.dhi-foot .social-icon svg{width:15px;height:15px;display:block;fill:currentColor}
.dhi-foot .footer-links,.dhi-foot .category-links,.dhi-foot .contact-list{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.dhi-foot .footer-links a,.dhi-foot .category-links a,.dhi-foot .contact-list a{color:#A9BAC6;text-decoration:none;font-size:13.5px;transition:color .2s,transform .2s}
.dhi-foot .footer-links a{display:inline-flex;align-items:center;gap:8px}
.dhi-foot .footer-links a::before{content:"\203A";color:var(--org);font-size:18px;line-height:1}
.dhi-foot .footer-links a:hover,.dhi-foot .category-links a:hover,.dhi-foot .contact-list a:hover{color:#fff}
.dhi-foot .footer-links a:hover{transform:translateX(2px)}
.dhi-foot .category-intro,.dhi-foot .contact-intro{margin:-4px 0 13px!important}
.dhi-foot .category-links{grid-template-columns:1fr 1fr;gap:7px}
.dhi-foot .category-links a{display:flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid #2C4A63;border-radius:999px;background:#16293C;line-height:1.2;transition:.2s}
.dhi-foot .category-links a:hover{border-color:var(--org);background:#2E2708}
.dhi-foot .category-dot{width:6px;height:6px;border-radius:50%;background:var(--org);flex:0 0 auto}
.dhi-foot .contact-list{gap:12px;margin-top:16px}
.dhi-foot .contact-list li{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:start;color:#A9BAC6;font-size:13.5px}
.dhi-foot .contact-icon{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#2E2708;color:var(--org);font-size:12px}
.dhi-foot .footer-bottom{border-top:1px solid #28455E;margin-top:16px;padding:16px 4px 1px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
.dhi-foot .copyright{margin:0;color:#7E93A3;font-size:11px;text-transform:uppercase;letter-spacing:1.2px}
.dhi-foot .footer-legal{display:flex;gap:15px;flex-wrap:wrap}
.dhi-foot .footer-legal a{color:#7E93A3;font-size:11.5px;text-decoration:none;transition:color .2s}
.dhi-foot .footer-legal a:hover{color:var(--org)}
@media(max-width:1040px){.dhi-foot .footer-grid{grid-template-columns:1fr 1fr}.dhi-foot .footer-card{min-height:220px}}
@media(max-width:1000px){.catgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){
  .hero h1{font-size:44px}.hero{min-height:480px;padding:48px 0}
  .postgrid,.loop{grid-template-columns:1fr 1fr}
  .nav-toggle{display:grid}
  .mainnav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(21,42,61,.14);padding:10px 18px 16px}
  .mainnav.open{display:block}
  .mainnav ul{flex-direction:column;gap:2px;align-items:stretch}
  .mainnav li{padding:7px 0;border-bottom:1px solid #E4EDDA}
  .mainnav li:last-child{border-bottom:none}
  .site-head .wrap{position:relative}
}
@media(max-width:782px){body.admin-bar .site-head{top:46px}}
@media(max-width:620px){.dhi-foot{padding:20px 0 15px}.dhi-foot .footer-grid{grid-template-columns:1fr}.dhi-foot .footer-card{min-height:auto;padding:20px}.dhi-foot .footer-bottom{flex-direction:column;align-items:flex-start}.dhi-foot .category-links{grid-template-columns:1fr}}
@media(max-width:560px){.catgrid,.postgrid,.loop{grid-template-columns:1fr}.brand .name{font-size:18px}.post-title,.page-title{font-size:29px}.nf-code{font-size:70px}}
.brand-logo{display:block;line-height:0}
.brand-logo img,.brand .custom-logo{height:56px;width:auto;max-width:min(320px,58vw);object-fit:contain}
@media(max-width:560px){.brand-logo img,.brand .custom-logo{height:44px}}

/* --- Animations: Read More buttons + H2 scroll reveal --- */
.btn{position:relative;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease}
.btn::after{content:"\2192";display:inline-block;margin-left:7px;transition:transform .25s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(245,184,0,.38)}
.btn:hover::after{transform:translateX(4px)}
.btn:active{transform:translateY(0)}
.btn.ghost:hover{box-shadow:0 10px 22px rgba(21,42,61,.16)}
h2.rv{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
h2.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.btn,h2.rv{transition:none}h2.rv{opacity:1;transform:none}}
/* --- Typography: Playfair Display headings + Inter body --- */
h2,.hero h1,.catcard .t,.post-title,.page-title,.card h3,.feat h3{font-family:'Playfair Display',Georgia,serif}
.hero h1{font-weight:800;letter-spacing:-.5px}
.hero h1 .o{font-style:italic;font-weight:700}
h2{letter-spacing:-.3px;font-weight:700}
.catcard .t{font-weight:700}
.card h3,.feat h3{font-weight:700;line-height:1.3}

/* --- Hero: centered text over switching images --- */
.hero-overlay{background:linear-gradient(180deg,rgba(8,18,27,.58),rgba(8,18,27,.74))}
.hero-content{max-width:780px;margin:0 auto;text-align:center}
.hero p{margin-left:auto;margin-right:auto;max-width:640px}
.hero .cta{justify-content:center}


/* --- Button shine animation (warm gold-white streak) --- */
.btn{overflow:hidden;isolation:isolate}
.btn::before{content:"";position:absolute;top:0;left:-90%;width:45%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,243,205,.85),transparent);transform:skewX(-20deg);transition:left .65s ease;pointer-events:none;z-index:1}
.btn:hover::before{left:140%}
.hero .btn::before{animation:btnSheen 3.6s ease-in-out infinite}
@keyframes btnSheen{0%,55%{left:-90%}85%,100%{left:140%}}
@media (prefers-reduced-motion: reduce){.hero .btn::before{animation:none}}

/* --- Framex yellow buttons: dark text --- */
.btn{color:#191919;font-weight:700}
.btn:hover{color:#000}
.catcard .num{color:var(--org-d)}

/* --- Hero headline font: Playfair Display, same as the reference --- */
.hero h1{font-family:'Playfair Display',Georgia,serif;font-weight:800;letter-spacing:-.5px}

/* --- Hero text sizes: same as reference (H1 3.5rem/1.1, desc 18px) --- */
.hero-content{max-width:900px}
.hero h1{font-size:56px;line-height:1.1}
.hero p{font-size:18px;line-height:1.65}

/* --- Header: only ONE search control per screen size --- */
@media(min-width:1101px){.search-toggle{display:none}}

/* --- Homepage author band --- */
.author-band{padding:4px 0 42px}
.author-card{display:flex;gap:22px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 28px;box-shadow:0 10px 26px rgba(21,42,61,.07)}
.author-ava{width:96px;height:96px;flex:none;border-radius:50%;background:var(--navy);color:var(--org);display:grid;place-items:center;font-family:'Playfair Display',Georgia,serif;font-size:34px;font-weight:800;border:3px solid var(--org)}
.author-kick{color:var(--org-d);font-size:11.5px;font-weight:800;letter-spacing:2px;text-transform:uppercase}
.author-card h3{font-family:'Playfair Display',Georgia,serif;font-size:25px;color:var(--navy);margin:5px 0 7px}
.author-card p{color:#4A5864;font-size:14.5px;line-height:1.65;margin:0;max-width:760px}
@media(max-width:640px){.author-card{flex-direction:column;text-align:center;padding:24px 20px}}

.author-ava-img{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid var(--org);flex:none;display:block}

/* --- Newsletter band on yellow: dark navy text for readability --- */
.newsletter h2{color:var(--navy)}
.newsletter p{color:rgba(21,42,61,.85)}
.newsletter .btn,.news-form button[type=submit]{background:var(--navy);border-color:var(--navy);color:#fff}
.newsletter .btn:hover,.news-form button[type=submit]:hover{background:#0E1E2D;color:#fff;box-shadow:0 10px 22px rgba(21,42,61,.35)}

/* --- Image size locks --- */
.author-ava-img{width:88px;height:88px;max-width:88px}
.brand-logo img{height:46px;width:auto;max-width:230px}

/* --- Brand: emblem + real text wordmark (crisp at any size) --- */
.brand-logo{display:flex;align-items:center;gap:11px;text-decoration:none}
.brand-mark{height:47px;width:auto}
.brand-text{display:flex;flex-direction:column;line-height:1.08}
.bt-1{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:20.5px;color:var(--navy);letter-spacing:.4px;white-space:nowrap}
.bt-2{font-family:'Inter',Arial,sans-serif;font-weight:700;font-size:11px;color:#B8860B;letter-spacing:4.6px;white-space:nowrap;margin-top:2px}
.dhi-foot .footer-logochip{display:inline-flex;align-items:center;gap:10px}
.dhi-foot .footer-logochip img{height:40px;width:auto}
.dhi-foot .footer-logochip .bt-1{font-size:17px}
.dhi-foot .footer-logochip .bt-2{font-size:9.5px;letter-spacing:3.8px}

/* --- Contact Form 7: premium styling matched to the theme --- */
.wpcf7{max-width:760px;margin:26px auto 6px;background:#fff;border:1px solid #EFE7D2;border-top:4px solid var(--org);border-radius:18px;padding:30px 30px 22px;box-shadow:0 18px 40px rgba(21,42,61,.10)}
.wpcf7 .dhi-frow{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.wpcf7 p{margin:0 0 18px}
.wpcf7 label{display:block;font-family:'Inter',Arial,sans-serif;font-weight:600;font-size:13.5px;color:var(--navy);letter-spacing:.02em;margin-bottom:8px}
.wpcf7 input[type="text"],.wpcf7 input[type="email"],.wpcf7 textarea{width:100%;box-sizing:border-box;font-family:'Inter',Arial,sans-serif;font-size:15.5px;color:var(--ink);background:#FFFDF6;border:1.5px solid #E4DCC4;border-radius:12px;padding:13px 15px;outline:none;transition:border-color .18s,box-shadow .18s,background .18s}
.wpcf7 textarea{min-height:150px;resize:vertical}
.wpcf7 input[type="text"]:focus,.wpcf7 input[type="email"]:focus,.wpcf7 textarea:focus{border-color:var(--org);background:#fff;box-shadow:0 0 0 4px rgba(245,184,0,.22)}
.wpcf7 input::placeholder,.wpcf7 textarea::placeholder{color:#9A917C}
.wpcf7 .dhi-submit{margin:4px 0 6px}
.wpcf7 input[type="submit"]{-webkit-appearance:none;appearance:none;border:0;cursor:pointer;font-family:'Inter',Arial,sans-serif;font-weight:800;font-size:16px;color:#191919;background:linear-gradient(180deg,#FFC61A,var(--org));border-radius:999px;padding:14px 34px;box-shadow:0 10px 22px rgba(245,184,0,.35);transition:transform .18s,box-shadow .18s}
.wpcf7 input[type="submit"]:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(245,184,0,.45)}
.wpcf7 .wpcf7-not-valid-tip{color:#C0392B;font-size:12.5px;margin-top:6px;display:block}
.wpcf7 .wpcf7-response-output{border-radius:12px;padding:12px 16px;font-size:14.5px;margin:14px 0 4px}
.wpcf7 form.sent .wpcf7-response-output{border-color:#2E9E5B;background:#EFFAF3}
@media(max-width:640px){.wpcf7{padding:22px 18px 16px}.wpcf7 .dhi-frow{grid-template-columns:1fr}}

/* --- Newsletter band: CF7 subscribe form --- */
.newsletter .wpcf7{max-width:640px;margin:22px auto 0;background:transparent;border:0;box-shadow:none;border-radius:0;padding:0}
.newsletter .wpcf7 form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.newsletter .wpcf7 p{margin:0}
.newsletter .wpcf7 input[type="email"]{width:min(380px,90vw);background:#fff;border:none;border-radius:9px;padding:13px 16px;font-size:14.5px;box-shadow:none;color:var(--ink)}
.newsletter .wpcf7 input[type="email"]:focus{outline:3px solid rgba(21,42,61,.35);box-shadow:none;border:none;background:#fff}
.newsletter .wpcf7 input[type="submit"]{background:var(--navy);color:#fff;border-radius:9px;padding:13px 26px;font-size:15px;box-shadow:none}
.newsletter .wpcf7 input[type="submit"]:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(21,42,61,.25)}
.newsletter .wpcf7 .wpcf7-response-output{flex-basis:100%;border:0;color:var(--navy);font-weight:600;text-align:center;margin:10px 0 0;padding:0}
.newsletter .wpcf7 form.sent .wpcf7-response-output{background:transparent}
.newsletter .wpcf7 .wpcf7-not-valid-tip{color:#8A1F11;text-align:center}

/* --- Content links: bold + gold underline so links stand out --- */
.entry a{font-weight:700;color:var(--navy);text-decoration:underline;text-decoration-color:var(--org);text-decoration-thickness:2px;text-underline-offset:3px}
.entry a:hover{color:var(--org-d);text-decoration-color:var(--org-d)}
