/*
Theme Name: Letsma Premium
Theme URI: https://letsma.co.uk
Description: Corporate-premium MSP child theme for Letsma Ltd. v1.2.9 - polished service heroes.
Author: Letsma Ltd
Template: generatepress
Version: 1.2.9
License: GNU General Public License v2 or later
Text Domain: letsma-premium
*/

:root{--letsma-navy:#0A1B33;--letsma-steel:#1B3358;--letsma-accent:#B8902F;--letsma-ice:#F4F6FA;--letsma-white:#ffffff;--letsma-text:#16202E;--letsma-muted:#5B6B82;--letsma-whatsapp:#25D366;--letsma-whatsapp-dark:#128C7E;}

/* HEADER */
.site-header,.main-navigation,.inside-header,.navigation-branding{background-color:var(--letsma-navy)!important;}
.site-header{padding:0!important;}
.site-header .site-branding .site-title,.site-header .site-branding .site-description,.site-header p.site-title,.site-header .main-title,.site-header .site-description,.navigation-branding .site-title{display:none!important;}
.site-header .site-logo img,.header-image img,.navigation-branding img,.site-branding img{max-height:72px!important;width:auto!important;height:auto!important;transition:max-height .25s ease;}
.site-logo,.header-image,.navigation-branding{padding:8px 0!important;transition:padding .25s ease;}
.inside-header{display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important;padding:0 24px!important;}
.main-navigation{padding:0!important;}
.main-navigation .inside-navigation{background-color:var(--letsma-navy)!important;display:flex !important;align-items:center !important;}
.main-navigation .inside-navigation .main-nav,.main-navigation .inside-navigation > ul{order:1;}
.main-navigation .inside-navigation .letsma-header-cta{order:99;margin-left:auto;}
.main-navigation a,.main-navigation .main-nav ul li a{color:#fff!important;font-weight:500;padding:14px 18px!important;transition:padding .25s ease,color .15s ease,background-color .15s ease;}
.main-navigation a:hover,.main-navigation .current-menu-item>a,.main-navigation .current_page_item>a{color:var(--letsma-accent)!important;background-color:var(--letsma-steel)!important;}
.main-navigation ul ul{background-color:var(--letsma-navy)!important;border-top:2px solid var(--letsma-accent)!important;box-shadow:0 8px 24px rgba(0,0,0,.25);}
.main-navigation ul ul a{background-color:var(--letsma-navy)!important;color:#fff!important;padding:12px 18px!important;}
.main-navigation ul ul a:hover{background-color:var(--letsma-steel)!important;color:var(--letsma-accent)!important;}
.menu-toggle,button.menu-toggle{background-color:var(--letsma-navy)!important;color:#fff!important;}
.main-navigation .menu-item-has-children > a .dropdown-menu-toggle,.main-navigation .menu-item-has-children > a > .gp-icon{padding-left:4px !important;padding-right:0 !important;margin-left:0 !important;}
.main-navigation .menu-item-has-children > a{padding-right:18px !important;}
.main-navigation .main-nav > ul > li > a{padding:14px 18px !important;}
.main-navigation .dropdown-menu-toggle svg,.main-navigation .gp-icon svg{width:8px !important;height:8px !important;}

.site-header{position:-webkit-sticky!important;position:sticky!important;top:0;z-index:9999;transition:padding .25s ease,box-shadow .25s ease,background-color .25s ease;box-shadow:0 2px 0 rgba(184,144,47,0);}
body.admin-bar .site-header{top:32px;}
@media (max-width:782px){body.admin-bar .site-header{top:46px;}}
body.letsma-scrolled .site-header{box-shadow:0 4px 24px rgba(10,27,51,.35),0 2px 0 rgba(184,144,47,1);background-color:rgba(10,27,51,.92)!important;-webkit-backdrop-filter:saturate(140%) blur(8px);backdrop-filter:saturate(140%) blur(8px);}
body.letsma-scrolled .main-navigation,body.letsma-scrolled .inside-header,body.letsma-scrolled .main-navigation .inside-navigation{background-color:transparent!important;}
body.letsma-scrolled .site-header .site-logo img,body.letsma-scrolled .navigation-branding img,body.letsma-scrolled .site-branding img,body.letsma-scrolled .header-image img{max-height:56px!important;}
body.letsma-scrolled .site-logo,body.letsma-scrolled .header-image,body.letsma-scrolled .navigation-branding{padding:4px 0!important;}
body.letsma-scrolled .main-navigation a,body.letsma-scrolled .main-navigation .main-nav ul li a{padding:10px 18px!important;}
html{scroll-padding-top:90px;}

body.home,body.home *,body.single,body.single *,body.single-post,body.single-post *{box-sizing:border-box;}
body.home .site-content,body.home .content-area,body.home #primary,body.home main,body.home main#main,body.home .inside-content,body.home .inside-article,body.home article,body.home article.page,body.home article.post,body.home .entry-content,
body.letsma-home .site-content,body.letsma-home .content-area,body.letsma-home #primary,body.letsma-home main,body.letsma-home main#main,body.letsma-home .inside-content,body.letsma-home .inside-article,body.letsma-home article,body.letsma-home .entry-content,
body.page-template-template-letsma-fullwidth .site-content,body.page-template-template-letsma-fullwidth .content-area,body.page-template-template-letsma-fullwidth #primary,body.page-template-template-letsma-fullwidth main,body.page-template-template-letsma-fullwidth .inside-content,body.page-template-template-letsma-fullwidth .inside-article,body.page-template-template-letsma-fullwidth article,body.page-template-template-letsma-fullwidth .entry-content,
body.single .site-content,body.single .content-area,body.single #primary,body.single main,body.single main#main,body.single .inside-content,body.single .inside-article,body.single article,body.single article.post,body.single .entry-content,
body.single-post .site-content,body.single-post .content-area,body.single-post #primary,body.single-post main,body.single-post main#main,body.single-post .inside-content,body.single-post .inside-article,body.single-post article,body.single-post .entry-content{display:block!important;flex-direction:column!important;grid-template-columns:none!important;grid-template-rows:none!important;grid-template-areas:none!important;column-count:1!important;columns:auto!important;float:none!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important;background:transparent!important;box-shadow:none!important;}
body.home>section,body.home main>section,body.home .entry-content>section,body.home .entry-content>div,
body.letsma-home>section,body.letsma-home main>section,body.letsma-home .entry-content>section,body.letsma-home .entry-content>div,
body.page-template-template-letsma-fullwidth main>section,body.page-template-template-letsma-fullwidth .entry-content>section,
body.single>section,body.single main>section,body.single .entry-content>section,body.single .entry-content>div,
body.single-post>section,body.single-post main>section,body.single-post .entry-content>section,body.single-post .entry-content>div{display:block!important;width:100%!important;float:none!important;clear:both!important;column-span:all!important;}
body.home .entry-header,body.home .entry-title,body.home .entry-meta,body.home .post-navigation,
body.letsma-home .entry-header,body.letsma-home .entry-title,
body.page-template-template-letsma-fullwidth .entry-header,body.page-template-template-letsma-fullwidth .entry-title,
body.single .entry-header,body.single .entry-title,body.single .entry-meta,body.single .post-navigation,body.single .post-image,
body.single-post .entry-header,body.single-post .entry-title,body.single-post .entry-meta,body.single-post .post-navigation{display:none!important;}

.letsma-wrap{max-width:1200px;margin:0 auto;padding:0 24px;box-sizing:border-box;width:100%;}
body{font-family:"Inter",system-ui,-apple-system,sans-serif;color:var(--letsma-text);}
h1,h2,h3,h4{font-family:"Playfair Display",Georgia,serif;color:var(--letsma-navy);letter-spacing:-.01em;}
h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.1;}
h2{font-size:clamp(1.6rem,2.6vw,2.4rem);}

.btn-letsma{display:inline-block;padding:14px 28px;border-radius:4px;background:var(--letsma-accent);color:var(--letsma-navy);font-weight:600;text-decoration:none;letter-spacing:.02em;transition:all .2s ease;border:0;cursor:pointer;font-family:inherit;font-size:1rem;}
.btn-letsma:hover{background:var(--letsma-navy);color:var(--letsma-accent);}
.btn-outline{display:inline-block;padding:14px 28px;border-radius:4px;border:2px solid var(--letsma-white);color:var(--letsma-white);text-decoration:none;font-weight:600;}

/* HERO with softened gradient + 24px home page whitespace */
.hero{display:block!important;width:100%!important;background:linear-gradient(90deg,rgba(10,27,51,0.92) 0%,rgba(10,27,51,0.80) 35%,rgba(10,27,51,0.45) 65%,rgba(10,27,51,0.15) 100%),url('assets/images/letsma-hero.jpg') center/cover no-repeat;color:#fff;padding:120px 0 100px;position:relative;overflow:hidden;}
.hero h1{color:#fff;}
.hero .strap{color:var(--letsma-accent);text-transform:uppercase;letter-spacing:.1em;font-weight:600;font-size:.85rem;margin-bottom:16px;display:block;}
.hero p.lead{font-size:1.2rem;color:#D6DEEB;max-width:640px;}
.hero .accent{color:var(--letsma-accent);}
body.home .hero,body.letsma-home .hero{border-top:24px solid #F4F6FA !important;background-clip:padding-box !important;-webkit-background-clip:padding-box !important;}

.section{display:block!important;width:100%!important;padding:90px 0;background:#fff;}
.section-alt{background:var(--letsma-ice)!important;}
.cards-row{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;gap:24px;margin-top:48px;}
.card-service{background:#fff;border:1px solid #E4E8F0;border-radius:8px;padding:36px 30px;height:100%;transition:all .25s ease;}
.card-service:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(10,27,51,.10);border-color:var(--letsma-accent);}
.card-service .icon{width:56px;height:56px;border-radius:50%;background:var(--letsma-navy);color:var(--letsma-accent);display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:20px;}
.two-col{display:grid!important;grid-template-columns:1fr 1fr!important;gap:60px;align-items:center;}
@media (max-width:800px){.two-col{grid-template-columns:1fr!important;}.cards-row{grid-template-columns:1fr!important;}}

.trust-bar{display:block!important;width:100%!important;background:var(--letsma-navy);color:#fff;padding:24px 0;text-align:center;}
.trust-bar strong{color:var(--letsma-accent);}
.cta-band{display:block!important;width:100%!important;background:var(--letsma-navy);color:#fff;padding:70px 0;text-align:center;}
.cta-band h2{color:#fff;}

/* SERVICE-HERO (v1.2.9: 24px ice gap matches home page) */
.service-hero{
  border-top:24px solid #F4F6FA !important;
  background-clip:padding-box !important;
  -webkit-background-clip:padding-box !important;
  position:relative;display:block!important;width:100%!important;min-height:380px;color:#fff;padding:80px 0;background-position:center;background-size:cover;background-repeat:no-repeat;
}
.service-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,27,51,.85) 0%,rgba(10,27,51,.55) 55%,rgba(10,27,51,.2) 100%);}
.service-hero .letsma-wrap{position:relative;z-index:2;max-width:680px;margin-left:max(24px,calc((100% - 1200px)/2));}
.service-hero h1{color:#fff;margin:0 0 12px;}
.service-hero .strap{color:var(--letsma-accent);text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:.95rem;}
.service-hero p.lead{color:#D6DEEB;font-size:1.1rem;}
.hero-m365{background-image:url('assets/images/hero-microsoft-365.jpg');}
.hero-security{background-image:url('assets/images/hero-cyber-security.jpg');}
.hero-helpdesk{background-image:url('assets/images/hero-helpdesk.jpg');}
.hero-wifi{background-image:url('assets/images/hero-managed-wifi.jpg');}

.site-footer{display:block!important;width:100%!important;background:#081428;color:#A9B5C8;padding:60px 0 30px;}
.site-footer a{color:#D6DEEB;}
.site-footer a:hover{color:var(--letsma-accent);}
.site-footer h4{color:#fff;font-family:Inter;font-size:1rem;text-transform:uppercase;letter-spacing:.08em;}
.footer-grid{display:grid!important;grid-template-columns:2fr 1fr 1fr!important;gap:40px;}
@media (max-width:800px){.footer-grid{grid-template-columns:1fr 1fr!important;}}
@media (max-width:500px){.footer-grid{grid-template-columns:1fr!important;}}
.footer-bottom{margin-top:40px;border-top:1px solid #14233F;padding-top:20px;font-size:.85rem;}

body.letsma-debug *{outline:1px dashed rgba(255,0,0,.35)!important;}
body.letsma-debug .hero{outline:3px solid #00ff00!important;}
body.letsma-debug .section{outline:3px solid #00ccff!important;}
body.letsma-debug .site-footer{outline:3px solid #ff00ff!important;}

.letsma-form{max-width:560px;}
.letsma-form .row{margin-bottom:16px;}
.letsma-form .row-two{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:560px){.letsma-form .row-two{grid-template-columns:1fr;}}
.letsma-form label{display:block;font-size:.85rem;font-weight:600;color:var(--letsma-navy);margin-bottom:6px;letter-spacing:.02em;}
.letsma-form input[type="text"],.letsma-form input[type="email"],.letsma-form input[type="tel"],.letsma-form select,.letsma-form textarea{width:100%;padding:12px 14px;border:1px solid #E4E8F0;border-radius:4px;font-size:1rem;font-family:inherit;color:var(--letsma-text);background:#fff;box-sizing:border-box;transition:border-color .15s ease, box-shadow .15s ease;}
.letsma-form input:focus,.letsma-form select:focus,.letsma-form textarea:focus{outline:none;border-color:var(--letsma-accent);box-shadow:0 0 0 3px rgba(184,144,47,.15);}
.letsma-form textarea{min-height:120px;resize:vertical;}
.letsma-form .gdpr{display:flex;align-items:flex-start;gap:10px;font-size:.85rem;color:var(--letsma-muted);line-height:1.5;}
.letsma-form .gdpr input{margin-top:3px;}
.letsma-form .gdpr a{color:var(--letsma-accent);}
.letsma-form .honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.letsma-form .submit-row{margin-top:24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.letsma-form .status{font-size:.9rem;}
.letsma-form .status.success{color:#0a7d3e;}
.letsma-form .status.error{color:#c12626;}
.letsma-form button[type="submit"]:disabled{opacity:.6;cursor:wait;}

.letsma-modal-backdrop{position:fixed;inset:0;background:rgba(10,27,51,.75);-webkit-backdrop-filter:saturate(140%) blur(6px);backdrop-filter:saturate(140%) blur(6px);z-index:10000;display:none;align-items:center;justify-content:center;padding:24px;overflow-y:auto;}
body.letsma-modal-open{overflow:hidden;}
body.letsma-modal-open .letsma-modal-backdrop{display:flex;}
.letsma-modal{background:#fff;width:100%;max-width:640px;border-radius:8px;box-shadow:0 30px 80px rgba(0,0,0,.45);padding:40px;position:relative;max-height:calc(100vh - 48px);overflow-y:auto;animation:letsma-modal-in .25s ease;}
@keyframes letsma-modal-in{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
.letsma-modal h2{margin-top:0;}
.letsma-modal-close{position:absolute;top:12px;right:12px;background:transparent;border:0;color:var(--letsma-muted);font-size:1.5rem;line-height:1;width:36px;height:36px;border-radius:50%;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;}
.letsma-modal-close:hover{background:var(--letsma-ice);color:var(--letsma-navy);}
@media (max-width:600px){.letsma-modal{padding:28px 20px;}}

.btn-whatsapp{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;border-radius:4px;background:var(--letsma-whatsapp);color:#fff;font-weight:600;text-decoration:none;letter-spacing:.02em;transition:all .2s ease;border:0;cursor:pointer;font-family:inherit;font-size:1rem;}
.btn-whatsapp:hover{background:var(--letsma-whatsapp-dark);color:#fff;transform:translateY(-1px);}
.btn-whatsapp svg{width:20px;height:20px;flex-shrink:0;fill:currentColor;}
.letsma-whatsapp-inline{display:inline-flex;align-items:center;gap:6px;color:var(--letsma-whatsapp-dark);text-decoration:none;font-weight:500;}
.letsma-whatsapp-inline:hover{text-decoration:underline;}
.letsma-whatsapp-inline svg{width:16px;height:16px;fill:currentColor;}
.letsma-whatsapp-banner{display:flex;align-items:center;gap:14px;padding:14px 18px;margin:0 0 20px;background:#E8F8EF;border:1px solid #C7EBD3;border-radius:6px;font-size:.95rem;color:#0E5C36;}
.letsma-whatsapp-banner svg{width:24px;height:24px;fill:var(--letsma-whatsapp);flex-shrink:0;}
.letsma-whatsapp-banner a{color:var(--letsma-whatsapp-dark);font-weight:600;text-decoration:none;}
.letsma-whatsapp-banner a:hover{text-decoration:underline;}
.letsma-whatsapp-float{position:fixed;bottom:24px;right:24px;width:60px;height:60px;border-radius:50%;background:var(--letsma-whatsapp);color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 8px 24px rgba(37,211,102,.4), 0 4px 12px rgba(0,0,0,.18);z-index:9998;transition:transform .2s ease, box-shadow .2s ease;}
.letsma-whatsapp-float:hover{transform:scale(1.06);box-shadow:0 12px 32px rgba(37,211,102,.5), 0 6px 16px rgba(0,0,0,.22);}
.letsma-whatsapp-float svg{width:32px;height:32px;fill:#fff;position:relative;z-index:2;}
.letsma-whatsapp-float::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--letsma-whatsapp);opacity:.6;animation:letsma-wa-pulse 2s ease-out infinite;z-index:1;}
@keyframes letsma-wa-pulse{0%{transform:scale(1);opacity:.5;}70%{transform:scale(1.6);opacity:0;}100%{transform:scale(1.6);opacity:0;}}
.letsma-whatsapp-float .letsma-wa-tip{position:absolute;right:72px;top:50%;transform:translateY(-50%);background:var(--letsma-navy);color:#fff;font-size:.85rem;font-weight:500;padding:8px 14px;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease, transform .2s ease;z-index:3;}
.letsma-whatsapp-float .letsma-wa-tip::after{content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%);border:6px solid transparent;border-left-color:var(--letsma-navy);}
.letsma-whatsapp-float:hover .letsma-wa-tip{opacity:1;transform:translateY(-50%) translateX(-4px);}
@media (max-width:600px){.letsma-whatsapp-float{width:54px;height:54px;bottom:16px;right:16px;}.letsma-whatsapp-float svg{width:28px;height:28px;}.letsma-whatsapp-float .letsma-wa-tip{display:none;}}
@media print{.letsma-whatsapp-float{display:none;}}
body.letsma-modal-open .letsma-whatsapp-float{opacity:0;pointer-events:none;}

.letsma-header-cta{display:flex;align-items:center;gap:10px;padding:0 4px 0 16px;border-left:1px solid rgba(255,255,255,.1);}
.letsma-header-cta a{display:inline-flex;align-items:center;gap:6px;padding:8px 14px !important;border-radius:4px;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s ease;line-height:1;}
.letsma-header-cta .letsma-header-phone{color:#fff !important;background:transparent !important;border:1px solid rgba(255,255,255,.25);}
.letsma-header-cta .letsma-header-phone:hover{background:rgba(255,255,255,.08) !important;border-color:var(--letsma-accent);color:var(--letsma-accent) !important;}
.letsma-header-cta .letsma-header-wa{background:var(--letsma-whatsapp) !important;color:#fff !important;}
.letsma-header-cta .letsma-header-wa:hover{background:var(--letsma-whatsapp-dark) !important;color:#fff !important;}
.letsma-header-cta svg{width:16px;height:16px;fill:currentColor;flex-shrink:0;}
.letsma-header-cta .label{white-space:nowrap;}
@media (max-width:1024px){.letsma-header-cta .label{display:none;}.letsma-header-cta a{padding:8px 10px !important;}}
@media (max-width:768px){.letsma-header-cta{display:none;}}
body.letsma-scrolled .letsma-header-cta a{padding:6px 12px !important;font-size:.85rem;}

.letsma-faq{max-width:800px;margin:24px 0;}
.letsma-faq details{border:1px solid #E4E8F0;border-radius:6px;padding:16px 20px;margin-bottom:12px;cursor:pointer;transition:all .2s ease;background:#fff;}
.letsma-faq details:hover{border-color:var(--letsma-accent);}
.letsma-faq details[open]{border-color:var(--letsma-accent);background:#FCFAF3;}
.letsma-faq summary{font-weight:600;color:var(--letsma-navy);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.letsma-faq summary::-webkit-details-marker{display:none;}
.letsma-faq summary::after{content:'+';font-size:1.5rem;color:var(--letsma-accent);font-weight:400;line-height:1;transition:transform .2s ease;flex-shrink:0;}
.letsma-faq details[open] summary::after{content:"\2212";}
.letsma-faq .answer{padding-top:12px;color:var(--letsma-text);line-height:1.6;}

.letsma-breadcrumbs{display:flex;gap:8px;font-size:.85rem;color:var(--letsma-muted);padding:12px 0;flex-wrap:wrap;align-items:center;}
.letsma-breadcrumbs a{color:var(--letsma-muted);text-decoration:none;}
.letsma-breadcrumbs a:hover{color:var(--letsma-accent);}
.letsma-breadcrumbs .sep{opacity:.5;}
.letsma-breadcrumbs .current{color:var(--letsma-navy);font-weight:500;}
