/* LEWIS — site-wide layer over Divi.
   Header, footer, article and archive pages, in the brand system.
   CSS only: nothing here can break the site, and deactivating the plugin
   removes all of it instantly.
   Kill switch, if any single area misbehaves:
     add_filter( 'lewis_load_site_styles', '__return_false' );
*/

:root{--lw-ink:#1A1A1A;--lw-black:#000;--lw-mid:#6B6B6B;--lw-line:#E0D9CB;--lw-off:#EDE6D8;--lw-cream:#F5F1E8}

/* ---------- global type ---------- */
body,body.et_pb_pagebuilder_layout{font-family:"DM Sans",system-ui,-apple-system,sans-serif;color:var(--lw-ink);background:var(--lw-cream);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,.entry-title,#main-header .et_pb_menu__logo,.et_pb_slide_title{font-family:"Playfair Display",Georgia,serif!important;font-weight:400!important;letter-spacing:-.005em}
a{color:var(--lw-black)}
a:hover{color:var(--lw-mid)}

/* ---------- top bar ---------- */
#top-header{background:var(--lw-cream)!important;border-bottom:1px solid var(--lw-line);color:var(--lw-mid);box-shadow:none!important}
#top-header,#top-header a,#et-info,#et-secondary-menu a{font-family:"DM Sans",sans-serif!important;font-size:11px!important;letter-spacing:.12em;text-transform:uppercase;color:var(--lw-mid)!important}
#top-header a:hover,#et-secondary-menu a:hover{color:var(--lw-ink)!important}

/* ---------- masthead ---------- */
#main-header{background:var(--lw-cream)!important;box-shadow:none!important;border-bottom:1px solid var(--lw-line)}
#main-header .container{padding-top:0;padding-bottom:0}
#logo{max-height:34px!important;width:auto}
.et_header_style_centered #logo{margin-bottom:14px}
#main-header .et_menu_container{border:0}

/* nav — nine items must hold one line, so the type is tightened rather than
   allowed to wrap SHOP onto a row of its own */
#top-menu,#top-menu-nav,.et-menu,.et-l--header .et-menu{font-family:"DM Sans",sans-serif!important}
#top-menu li a,.et-menu li a,.et-l--header .et-menu li a,.et_mobile_menu li a{font-size:10.5px!important;letter-spacing:.11em!important;text-transform:uppercase;font-weight:500;color:var(--lw-ink)!important;padding-bottom:0}
#top-menu li,.et-menu li,.et-l--header .et-menu li{padding-right:clamp(12px,1.9vw,26px)!important}
.et-l--header .et_pb_menu__menu>nav>ul{flex-wrap:wrap!important;justify-content:center}
/* nothing may make the page wider than the viewport: horizontal overflow
   shifts every centred element off-centre */
html,body{overflow-x:hidden;max-width:100%}
#top-menu li a:hover,.et-menu li a:hover{opacity:1;color:var(--lw-mid)!important}
#top-menu li.current-menu-item>a,#top-menu li.current_page_item>a,.et-menu li.current-menu-item>a{color:var(--lw-ink)!important;font-weight:500}
/* the masthead should not carry a deep empty band under the nav */
.et-l--header .et_pb_section,.et-l--header .et_pb_row{padding-top:0!important;padding-bottom:0!important}
.et-l--header .et_pb_menu{margin-bottom:0!important}
#top-menu .sub-menu{border:1px solid var(--lw-line);border-top:1px solid var(--lw-ink);box-shadow:none;padding:8px 0;background:var(--lw-cream)}
#top-menu .sub-menu li a{font-size:11px!important;letter-spacing:.1em}
.et_mobile_menu{border-top:1px solid var(--lw-ink);box-shadow:none;background:var(--lw-cream)}
.mobile_menu_bar:before{color:var(--lw-ink)!important}
#et_search_icon:hover,#et_top_search .et-search-form input{color:var(--lw-ink)}

/* sticky/fixed header: keep the hairline, drop Divi's shadow */
#main-header.et-fixed-header{box-shadow:none!important;border-bottom:1px solid var(--lw-ink)!important;background:var(--lw-cream)!important}
.et-fixed-header #top-menu li a{font-size:11.5px!important;color:var(--lw-ink)!important}

/* ---------- article pages ---------- */
.single #main-content .container:before{display:none}
/* Sentence case. A long headline set in all-caps Playfair reads as a poster,
   not as journalism. Divi's Theme Builder writes very specific selectors, so
   these are deliberately over-qualified to win without editing the module. */
body.single h1.entry-title,body.single .entry-title,body.single .et_pb_title_container h1,body .et-l--body .et_pb_title_container h1.entry-title,body .et_pb_post_title .et_pb_title_container h1,body.single-post .et_pb_module h1.entry-title{text-transform:none!important;font-family:"Playfair Display",Georgia,serif!important;font-size:clamp(30px,4.2vw,54px)!important;line-height:1.06!important;letter-spacing:-.01em!important;color:var(--lw-ink)!important;font-weight:400!important}
/* byline: one grey line, no accent colour */
body.single .post-meta,body.single .post-meta a,body.single .et_pb_title_meta_container,body.single .et_pb_title_meta_container a,body .et-l--body .et_pb_title_meta_container,body .et-l--body .et_pb_title_meta_container a,body .et_pb_post_title .et_pb_title_meta_container span,body .et_pb_post_title .et_pb_title_meta_container a{font-family:"DM Sans",sans-serif!important;font-size:11.5px!important;letter-spacing:.09em!important;text-transform:uppercase!important;color:var(--lw-mid)!important;border:0!important;font-weight:400!important}
body.single .post-meta a:hover,body .et-l--body .et_pb_title_meta_container a:hover{color:var(--lw-ink)!important}
/* standfirst: the line under the headline should be light and generous,
   not bold sans competing with the title */
.single .et_pb_text_0 p:first-child,.single .entry-content>p:first-of-type{font-size:clamp(17px,1.5vw,20px)!important;line-height:1.5!important;font-weight:400!important;color:var(--lw-mid)!important;max-width:62ch;margin-left:auto;margin-right:auto}
.single .entry-content{font-size:17px;line-height:1.75}
.single .entry-content p{margin:1.1em 0;text-wrap:pretty}
.single .entry-content h2{font-size:26px;margin:1.8em 0 .4em}
.single .entry-content h3{font-size:20px;margin:1.6em 0 .3em}
.single .entry-content blockquote{margin:1.6em 0;padding-left:1.2em;border-left:1px solid var(--lw-ink);border-radius:0;font-family:"Playfair Display",Georgia,serif;font-size:22px;line-height:1.35;font-style:normal;background:none}
.single .entry-content a{border-bottom:1px solid var(--lw-line);text-decoration:none}
.single .entry-content a:hover{border-color:var(--lw-mid)}
.single .entry-content img,.single .wp-caption img{border-radius:0}
.single .wp-caption-text,.single figcaption{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--lw-mid);margin-top:10px}

/* the featured image at the top of a story */
.single .et_featured_image img,.single .entry-featured-image-url img{width:100%;border-radius:0}

/* ---------- archive / category pages ---------- */
.archive .main_title,.archive h1,.search h1{font-size:clamp(30px,4.4vw,52px)!important;border-bottom:1px solid var(--lw-ink);padding-bottom:16px;margin-bottom:34px}
.archive .et_pb_post,.search .et_pb_post,.blog .et_pb_post{border:0!important;padding-bottom:0;margin-bottom:clamp(28px,3.4vw,44px)}
.archive .et_pb_post h2.entry-title,.blog .et_pb_post h2.entry-title,.search .et_pb_post h2.entry-title{font-size:21px!important;line-height:1.26!important}
.archive .et_pb_post .post-meta,.blog .et_pb_post .post-meta{font-size:11px!important;letter-spacing:.12em;text-transform:uppercase;color:var(--lw-mid)!important}
.archive .et_pb_post img,.blog .et_pb_post img{border-radius:0}
.archive .more-link,.blog .more-link{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--lw-ink);padding-bottom:2px;color:var(--lw-ink)}
.pagination,.wp-pagenavi{font-size:11px;letter-spacing:.12em;text-transform:uppercase;border-top:1px solid var(--lw-line);padding-top:22px}

/* ---------- buttons, sitewide ---------- */
.et_pb_button,input[type=submit],button[type=submit],.wp-block-button__link{border-radius:0!important;border:1px solid var(--lw-black)!important;background:transparent!important;color:var(--lw-black)!important;font-family:"DM Sans",sans-serif!important;font-size:11px!important;letter-spacing:.14em!important;text-transform:uppercase;padding:15px 30px!important;font-weight:400!important;transition:background .2s,color .2s}
.et_pb_button:hover,input[type=submit]:hover,button[type=submit]:hover,.wp-block-button__link:hover{background:var(--lw-black)!important;color:#fff!important;padding:15px 30px!important}
.et_pb_button:after{display:none!important}

/* forms */
input[type=text],input[type=email],input[type=search],textarea,select{border-radius:0!important;border:1px solid var(--lw-line)!important;background:#FBF9F4!important;font-family:"DM Sans",sans-serif!important;font-size:14px!important;padding:14px 16px!important;color:var(--lw-ink)!important}
input:focus,textarea:focus{border-color:var(--lw-ink)!important;outline:0}
::placeholder{color:var(--lw-mid);opacity:1}

/* ---------- footer ----------
   Built in Divi's Theme Builder on black, so styled on its own terms rather
   than forced white. Headings unified, brand-coloured social chips removed,
   and the dead vertical space pulled in. */
.et-l--footer h1,.et-l--footer h2,.et-l--footer h3,.et-l--footer h4{color:#fff!important}
.et-l--footer .et_pb_text h2,.et-l--footer .et_pb_text h3{font-size:clamp(20px,2.2vw,26px)!important;line-height:1.14!important;letter-spacing:0!important;text-transform:none!important}
/* small column headings read as labels, not as headlines */
.et-l--footer .et_pb_column:nth-child(n+2) .et_pb_text h3,.et-l--footer .et_pb_column:nth-child(n+2) .et_pb_text h4{font-family:"DM Sans",sans-serif!important;font-size:11px!important;letter-spacing:.14em!important;text-transform:uppercase!important;font-weight:500!important;color:rgba(255,255,255,.7)!important}
.et-l--footer p,.et-l--footer li{color:rgba(255,255,255,.8)!important;font-size:14px!important}
.et-l--footer a{color:#fff!important;text-decoration:none}
.et-l--footer a:hover{color:rgba(255,255,255,.65)!important}
/* long addresses should not break mid-word */
.et-l--footer a[href^="mailto"]{overflow-wrap:break-word;word-break:normal;hyphens:none;font-size:14px!important;border-bottom:1px solid rgba(255,255,255,.35);text-decoration:none!important}
/* menu module in the footer */
.et-l--footer .et-menu li a,.et-l--footer .et_pb_menu li a{font-size:11px!important;letter-spacing:.14em!important;text-transform:uppercase;color:#fff!important}
.et-l--footer .et_pb_menu li{margin-bottom:4px}
/* social: monochrome, no coloured squares */
.et-l--footer .et_pb_social_media_follow li a.icon,.et-l--footer .et_pb_social_media_follow_network a.icon{background:transparent!important;background-color:transparent!important;border-radius:0!important;width:auto!important;height:auto!important}
.et-l--footer .et_pb_social_media_follow li a.icon:before{color:#fff!important;font-size:19px!important;width:auto;height:auto;line-height:1}
.et-l--footer .et_pb_social_media_follow li a.icon:hover:before{color:rgba(255,255,255,.6)!important}
.et-l--footer .et_pb_social_media_follow li{margin-right:22px!important;margin-bottom:0!important}
/* newsletter sign-up */
.et-l--footer input[type=text],.et-l--footer input[type=email],.et-l--footer .et_pb_newsletter_field input{border:1px solid rgba(255,255,255,.3)!important;background:transparent!important;color:#fff!important;border-radius:0!important;font-size:14px!important;padding:15px 16px!important}
.et-l--footer ::placeholder{color:rgba(255,255,255,.55)!important}
.et-l--footer .et_pb_newsletter_button,.et-l--footer button[type=submit],.et-l--footer input[type=submit]{background:#fff!important;color:#000!important;border:1px solid #fff!important;border-radius:0!important;font-size:11px!important;letter-spacing:.14em!important;text-transform:uppercase;padding:15px 30px!important}
.et-l--footer .et_pb_newsletter_button:hover,.et-l--footer button[type=submit]:hover{background:transparent!important;color:#fff!important}
/* tighten the empty space */
.et-l--footer .et_pb_section{padding-top:clamp(40px,4.5vw,64px)!important;padding-bottom:clamp(28px,3vw,40px)!important}
.et-l--footer .et_pb_row{padding-top:0!important;padding-bottom:clamp(14px,1.6vw,24px)!important}
/* classic (non-Theme-Builder) footer, if Divi ever falls back to it */
#footer-widgets .footer-widget h4,#main-footer h4.title{font-family:"DM Sans",sans-serif!important;font-size:11px!important;letter-spacing:.14em;text-transform:uppercase;font-weight:500!important;margin-bottom:14px}
#footer-widgets .footer-widget li:before,#main-footer li:before{display:none}
#footer-widgets .footer-widget li,#main-footer li{padding-left:0;font-size:14px;margin-bottom:9px}
#footer-info,#footer-info a{font-size:11px!important;letter-spacing:.12em;text-transform:uppercase}

/* ---------- housekeeping ---------- */
#main-content{background:var(--lw-cream)}
img{border-radius:0}

/* The LEWIS homepage sits flush under the masthead — Divi's default content
   padding otherwise leaves a dead band above the lead image. */
body.page-template #main-content .container:not(.et_pb_container){padding-top:0!important}
.lewis-experience{margin-top:0}
.lewis-experience .lw-lead{padding-top:clamp(18px,2vw,30px)}

/* Theme Builder header sits on its own white sections, which stripe the cream
   ground. Force the whole header stack transparent over cream. */
.et-l--header,.et-l--header .et_pb_section,.et-l--header .et_pb_row,.et-l--header .et_pb_column,.et-l--header .et_pb_module{background-color:transparent!important}
.et-l--header{background-color:var(--lw-cream)!important}
.et-l--header .et_pb_menu,.et-l--header .et_pb_menu__wrap,.et-l--header .et_pb_menu_inner_container{background-color:transparent!important}
/* the sticky state too */
.et-l--header .et_pb_sticky,.et-l--header .et_pb_section.et_pb_sticky_module{background-color:var(--lw-cream)!important}
/* body-level Theme Builder sections should not reintroduce white bands */
.et-l--body>.et_builder_inner_content>.et_pb_section{background-color:transparent!important}

/* ==========================================================
   CATEGORY / ARCHIVE PAGES
   Four problems visible across Interviews, Lifestyle, Culture,
   Grooming: titles laid over photography with no scrim (illegible),
   heroes tall enough to hide the grid, a dead band under the nav,
   and a weak "by Team Lewis" byline.
   ========================================================== */

/* 1. Dead space under the masthead */
body.archive .et-l--body .et_pb_section:first-of-type,body.category .et-l--body .et_pb_section:first-of-type,body.search .et-l--body .et_pb_section:first-of-type{padding-top:clamp(20px,2.4vw,36px)!important}
body.archive .et-l--body .et_pb_row:first-of-type,body.category .et-l--body .et_pb_row:first-of-type{padding-top:0!important}

/* 2. Pillar title: sized to sit as a masthead line, not a hero */
body.archive .et_pb_title_container h1,body.category .et_pb_title_container h1,body.archive h1.page-title,body.category h1.page-title,.et-l--body .et_pb_post_title h1{font-family:"Playfair Display",Georgia,serif!important;font-size:clamp(34px,4.6vw,58px)!important;line-height:1!important;letter-spacing:-.01em!important;text-transform:none!important;margin:0 0 .35em!important}

/* 3. Overlaid headlines need a ground to sit on. Divi lays the title over
      the featured image with no treatment, so contrast is luck. A bottom-up
      scrim fixes legibility without touching the photograph's top half. */
.et_pb_post .entry-featured-image-url,.et_pb_image_container,.et-l--body .et_pb_post a.entry-featured-image-url{position:relative;display:block;overflow:hidden}
.et_pb_post .entry-featured-image-url:after,.et-l--body .et_pb_post a.entry-featured-image-url:after{content:"";position:absolute;inset:auto 0 0 0;height:62%;background:linear-gradient(to top,rgba(0,0,0,.72) 0%,rgba(0,0,0,.45) 38%,rgba(0,0,0,0) 100%);pointer-events:none}
/* belt and braces for titles Divi positions absolutely over the image */
.et_pb_post .entry-title a,.et_pb_post .entry-title{text-shadow:0 1px 30px rgba(0,0,0,.55)}
.et_pb_post .entry-title a{color:#fff!important}

/* 4. Cap the hero so the rest of the pillar is visible above the fold.
      One story filling the viewport is a blog trope, not a magazine one. */
body.archive .et_pb_post:first-of-type .entry-featured-image-url img,body.category .et_pb_post:first-of-type .entry-featured-image-url img{max-height:60vh;width:100%;object-fit:cover}

/* 5. Byline: "by Team Lewis" set as a quiet credit line */
.et_pb_post .post-meta,.et_pb_post .post-meta a,.et_pb_post .et_pb_title_meta_container{font-family:"DM Sans",sans-serif!important;font-size:11px!important;letter-spacing:.14em!important;text-transform:uppercase!important;font-weight:400!important}
.et_pb_post .entry-featured-image-url ~ .post-meta,.et_pb_post .post-content .post-meta{color:rgba(255,255,255,.85)!important}

/* 6. Cards below the hero: hairline separation, square corners, no Divi shadow */
body.archive .et_pb_post,body.category .et_pb_post,body.search .et_pb_post{box-shadow:none!important;border:0!important;border-radius:0!important;background:transparent!important}
body.archive .et_pb_post img,body.category .et_pb_post img{border-radius:0!important}

/* ==========================================================
   UTILITY BAR + ENQUIRY VISIBILITY
   Contact and Work With Us sit top-right on every page, small and
   permanent. Pillars stay for readers; enquiries get their own row.
   ========================================================== */
.et-l--header .lewis-utility,.lewis-utility{font-family:"DM Sans",sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.lewis-utility a,.et-l--header .lewis-utility .et-menu li a{font-size:11px!important;letter-spacing:.14em!important;color:var(--lw-mid)!important;font-weight:400!important}
.lewis-utility a:hover,.et-l--header .lewis-utility .et-menu li a:hover{color:var(--lw-ink)!important}
/* Contact and Work With Us read as ink, not grey — they are the ones we
   want found, and grey-on-cream hides them */
.lewis-utility li.lewis-enquiry>a,.et-l--header .lewis-utility li.lewis-enquiry>a{color:var(--lw-ink)!important;font-weight:500!important}
.lewis-utility li.lewis-enquiry>a:hover{color:var(--lw-mid)!important}

/* desktop hamburger is redundant when the full nav is visible */
@media(min-width:981px){.et-l--header .et_pb_menu__icon.et_pb_menu__toggle,.et-l--header .mobile_menu_bar{display:none!important}}

/* End-of-article enquiry line. One hairline, no box, no shout. */
.lewis-enquiry-line{margin:clamp(40px,5vw,64px) auto 0;padding:20px 0 0;border-top:1px solid var(--lw-line);max-width:740px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--lw-mid)}
.lewis-enquiry-line a{color:var(--lw-ink);border-bottom:1px solid var(--lw-line);padding-bottom:2px;text-decoration:none}
.lewis-enquiry-line a:hover{border-color:var(--lw-ink)}
