/* Harry Painter Free V2.2.9.5 - final duplicate-footer fix */
/*
Theme Name: Harry Painter Free
Description: Elementor Free compatible production theme for Harry Painter.
Version: 2.2.4
*/
:root{--hp-navy:#102A43;--hp-orange:#E76F35;--hp-green:#7A9E3A;--hp-white:#fff;--hp-text:#243447;--hp-muted:#5d6b7a}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--hp-text);font-family:Arial,Helvetica,sans-serif;line-height:1.65}img{max-width:100%;height:auto}a{color:var(--hp-orange)}
.hp-site-header{position:sticky;top:0;z-index:9999;background:#fff;border-bottom:1px solid #e7edf2;box-shadow:0 3px 20px rgba(10,29,53,.08)}
.hp-nav{max-width:1240px;margin:0 auto;padding:10px 22px;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px}.hp-logo{display:flex;align-items:center;text-decoration:none;min-width:180px}.hp-logo img,.hp-logo .custom-logo,.hp-bundled-logo{display:block;max-height:62px;width:auto}.hp-bundled-logo{width:210px;height:auto;object-fit:contain}.hp-brand-fallback{font-size:25px;font-weight:900;color:var(--hp-navy)}
.hp-menu{flex:1;display:flex;justify-content:flex-end}.hp-menu ul{list-style:none!important;margin:0!important;padding:0!important;display:flex;align-items:center;justify-content:flex-end;gap:24px}.hp-menu li{list-style:none!important;margin:0!important;padding:0!important}.hp-menu a{display:inline-block;text-decoration:none!important;color:var(--hp-navy)!important;font-size:14px;font-weight:800;white-space:nowrap;transition:.2s}.hp-menu a:hover{color:var(--hp-orange)!important}
.hp-header-actions{display:flex;align-items:center;gap:9px}.hp-header-actions a{text-decoration:none;border-radius:999px;padding:11px 16px;font-size:12px;font-weight:900;white-space:nowrap}.hp-call{color:var(--hp-navy)!important;border:1px solid #d9e2ea;background:#fff}.hp-quote{background:var(--hp-orange);color:#fff!important}
.elementor-section.elementor-top-section>.elementor-container{max-width:1120px;margin:0 auto}.elementor-widget-text-editor p{margin:0 0 14px}.elementor-widget-text-editor ul{padding-left:22px}.elementor-button{font-weight:800!important;border-radius:999px!important;padding:13px 22px!important;transition:transform .2s,box-shadow .2s}.elementor-button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(10,29,53,.16)}
.hp-card{background:#fff!important;border:1px solid #E9DFCE;border-top:4px solid var(--hp-orange);border-radius:18px!important;padding:28px!important;margin:8px!important;box-shadow:0 10px 30px rgba(10,29,53,.07);height:100%;transition:.25s}.hp-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(10,29,53,.13)}
.hp-concept img{display:block;width:100%;border-radius:18px;box-shadow:0 15px 40px rgba(10,29,53,.12)}
.hp-site-footer{background:var(--hp-navy);color:#fff;padding:58px 20px 34px}.hp-footer-inner{max-width:1120px;margin:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px}.hp-site-footer h3{margin:0 0 10px;color:#fff;font-size:25px}.hp-site-footer p{margin:7px 0;color:rgba(255,255,255,.82)}.hp-footer-accent{color:#fff;font-weight:800}.hp-footer-bottom{max-width:1120px;margin:35px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.15);font-size:13px;color:rgba(255,255,255,.7)}.hp-mobile-cta{display:none}
@media(max-width:1024px){.hp-menu ul{gap:14px}.hp-menu a{font-size:12px}.hp-header-actions{display:none}.hp-nav{padding-left:18px;padding-right:18px}}@media(max-width:767px){.hp-site-header{top:0}.hp-nav{padding:8px 16px;min-height:64px}.hp-menu{display:none}.hp-logo img,.hp-logo .custom-logo{max-height:50px}.hp-footer-inner{grid-template-columns:1fr;gap:18px}.hp-site-footer{padding-bottom:90px}.hp-card{margin:7px 0!important;padding:22px!important}.hp-mobile-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:99999;background:#fff;box-shadow:0 -5px 20px rgba(0,0,0,.16)}.hp-mobile-cta a{flex:1;text-align:center;padding:13px 3px;font-size:11px;font-weight:900;text-decoration:none;color:var(--hp-navy)}.hp-mobile-cta a:nth-child(2){background:var(--hp-green);color:#fff}.hp-mobile-cta a:last-child{background:var(--hp-orange);color:#fff}}

body.admin-bar .hp-site-header{top:32px}
body.admin-bar .hp-mobile-cta{bottom:0}
.elementor-page #content{max-width:none!important;margin:0!important;padding:0!important}

/* =========================================================
   Harry Painter V2.2.2 — Visual Polish Layer
   CSS-only presentation upgrade. Elementor page content is untouched.
   ========================================================= */
:root{
  --hp-navy:#102A43;
  --hp-navy-2:#173B5E;
  --hp-orange:#E76F35;
  --hp-orange-2:#F28B5B;
  --hp-green:#7A9E3A;
  --hp-green-2:#91AF56;
  --hp-cream:#FAF8F3;
  --hp-light:#F4F1EA;
  --hp-border:#E9DFCE;
  --hp-text:#263238;
  --hp-muted:#5F6B73;
  --hp-shadow:0 14px 40px rgba(10,29,53,.09);
  --hp-shadow-hover:0 20px 50px rgba(10,29,53,.15);
}

body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--hp-text);background:#fff;-webkit-font-smoothing:antialiased}

/* Wider, more premium content canvas */
.elementor-section.elementor-top-section>.elementor-container{max-width:1180px!important;width:calc(100% - 48px);}
.elementor-section .elementor-container{width:100%;}
.elementor-widget-text-editor{color:var(--hp-muted);}
.elementor-widget-text-editor p{line-height:1.75;}
.elementor-widget-heading h1,.elementor-widget-heading h2,.elementor-widget-heading h3,.elementor-widget-heading h4{letter-spacing:-.025em;}

/* Header polish */
.hp-site-header{backdrop-filter:saturate(140%) blur(8px);background:rgba(255,255,255,.97)}
.hp-nav{max-width:1280px!important;min-height:86px;padding:10px 28px;gap:28px}
.hp-logo{min-width:220px}
.hp-logo img,.hp-logo .custom-logo,.hp-bundled-logo{width:auto!important;max-width:240px!important;max-height:70px!important}
.hp-menu ul{gap:20px!important}
.hp-menu a{font-size:13px!important;font-weight:800!important;letter-spacing:.01em}
.hp-menu a:hover{transform:translateY(-1px)}
.hp-header-actions{gap:10px}
.hp-header-actions a{padding:12px 18px!important;font-size:11px!important;letter-spacing:.04em}
.hp-call{box-shadow:inset 0 0 0 1px rgba(10,29,53,.02)}
.hp-quote{box-shadow:0 8px 20px rgba(241,90,23,.22)}

/* Main hero — preserve its existing content, improve its visual hierarchy */
.elementor-section:first-child .elementor-widget-heading h1,
.elementor-section:first-child .elementor-widget-heading h2{font-size:clamp(34px,4.2vw,56px);line-height:1.05;font-weight:850;}
.elementor-section:first-child .elementor-widget-text-editor{font-size:16px;}
.elementor-section:first-child .elementor-button{min-width:150px;}

/* Consistent section rhythm */
.elementor-section.elementor-top-section{position:relative;}
.elementor-section.elementor-top-section:not(:first-child){scroll-margin-top:90px;}
.elementor-widget-heading h2{font-size:clamp(28px,3vw,38px);line-height:1.12;font-weight:850;}
.elementor-widget-heading h3{font-size:22px;line-height:1.2;font-weight:800;}

/* All Elementor buttons */
.elementor-button{border:0!important;min-height:42px;display:inline-flex!important;align-items:center;justify-content:center;gap:7px;background:var(--hp-orange)!important;color:#fff!important;box-shadow:0 8px 20px rgba(241,90,23,.20);}
.elementor-button:hover{background:var(--hp-orange-2)!important;color:#fff!important;box-shadow:0 14px 28px rgba(241,90,23,.25)!important;}

/* Green CTA buttons — Elementor content can opt in with a green button class */
.hp-green-button .elementor-button,.elementor-button.hp-green-button{background:var(--hp-green)!important;box-shadow:0 8px 20px rgba(120,169,52,.20);}
.hp-green-button .elementor-button:hover,.elementor-button.hp-green-button:hover{background:var(--hp-green-2)!important;}

/* Service/card visual language: works with Elementor columns/widgets without changing page content */
.elementor-column .elementor-widget-icon-box,
.elementor-column .elementor-widget-image-box,
.hp-card{background:#fff;border:1px solid var(--hp-border);border-radius:18px;box-shadow:var(--hp-shadow);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.elementor-column .elementor-widget-icon-box:hover,
.elementor-column .elementor-widget-image-box:hover,
.hp-card:hover{transform:translateY(-5px);box-shadow:var(--hp-shadow-hover);border-color:#d8e1ea;}
.elementor-widget-icon-box .elementor-icon-box-wrapper,.elementor-widget-image-box .elementor-image-box-wrapper{padding:24px;}
.elementor-widget-icon-box .elementor-icon{color:var(--hp-orange);}

/* Sections with multiple columns become clean cards when the content is card-like */
.elementor-section .elementor-row,.elementor-section .elementor-container{align-items:stretch;}

/* Concept visual */
.hp-concept img,.elementor-widget-image img{border-radius:16px;}
.hp-concept img{box-shadow:var(--hp-shadow);}

/* FAQ accordion */
.elementor-accordion .elementor-accordion-item{border:1px solid var(--hp-border)!important;border-bottom:0!important;background:#fff;overflow:hidden;}
.elementor-accordion .elementor-accordion-item:last-child{border-bottom:1px solid var(--hp-border)!important;}
.elementor-accordion .elementor-tab-title{padding:17px 20px!important;font-weight:800!important;color:var(--hp-navy)!important;background:#fff;}
.elementor-accordion .elementor-tab-title:hover{color:var(--hp-orange)!important;background:#fffaf6;}
.elementor-accordion .elementor-tab-content{padding:16px 20px 20px!important;color:var(--hp-muted);line-height:1.7;border-top:1px solid #eef2f5!important;}

/* Elementor forms */
.elementor-field-group input,.elementor-field-group textarea,.elementor-field-group select{border:1px solid #dbe3ea!important;border-radius:10px!important;padding:13px 15px!important;background:#fff!important;color:var(--hp-text)!important;}
.elementor-field-group input:focus,.elementor-field-group textarea:focus,.elementor-field-group select:focus{border-color:var(--hp-orange)!important;box-shadow:0 0 0 3px rgba(241,90,23,.10)!important;outline:0!important;}
.elementor-form .elementor-button{min-height:46px;}

/* Process lists / numbered content */
.elementor-widget-text-editor ol{padding-left:24px;}
.elementor-widget-text-editor ol li{padding:7px 0;color:var(--hp-text);}

/* Footer refinement */
.hp-site-footer{padding:64px 24px 36px;background:linear-gradient(135deg,#081b31 0%,#0d2745 100%);}
.hp-footer-inner{max-width:1180px;gap:50px;}
.hp-site-footer p{line-height:1.65;}
.hp-footer-bottom{max-width:1180px;}

/* Improve the CTA/nav anchor feel */
a{transition:color .2s ease,background .2s ease,transform .2s ease;}

/* Tablet */
@media (max-width:1024px){
  .hp-nav{padding:9px 20px;min-height:78px;}
  .hp-logo{min-width:190px;}
  .hp-logo img,.hp-logo .custom-logo,.hp-bundled-logo{max-width:205px!important;max-height:62px!important;}
  .hp-menu ul{gap:13px!important;}
  .hp-menu a{font-size:11px!important;}
  .elementor-section.elementor-top-section>.elementor-container{width:calc(100% - 36px);}
}

/* Mobile */
@media (max-width:767px){
  .hp-nav{min-height:68px;padding:7px 14px;}
  .hp-logo{min-width:0;}
  .hp-logo img,.hp-logo .custom-logo,.hp-bundled-logo{max-width:175px!important;max-height:54px!important;}
  .elementor-section.elementor-top-section>.elementor-container{width:calc(100% - 28px)!important;}
  .elementor-section:first-child .elementor-widget-heading h1,
  .elementor-section:first-child .elementor-widget-heading h2{font-size:34px;}
  .elementor-widget-heading h2{font-size:28px;}
  .elementor-widget-heading h3{font-size:20px;}
  .elementor-button{min-height:44px;padding:12px 18px!important;}
  .elementor-column .elementor-widget-icon-box,.elementor-column .elementor-widget-image-box,.hp-card{border-radius:15px;}
  .elementor-widget-icon-box .elementor-icon-box-wrapper,.elementor-widget-image-box .elementor-image-box-wrapper{padding:20px;}
  .hp-site-footer{padding:48px 20px 92px;}
}


/* =========================================================
   Harry Painter V2.2.4 — Services presentation
   The existing Elementor service list is visually replaced on
   the homepage with the approved seven-service set.
   ========================================================= */
.hp-v223-hide-service-widget{display:none!important;}
.hp-v223-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:28px 0 12px;width:100%;}
.hp-v223-service-card{position:relative;min-height:175px;padding:28px 24px;background:#fff;border:1px solid #e4eaf0;border-top:4px solid var(--hp-orange);border-radius:18px;box-shadow:0 12px 32px rgba(10,29,53,.08);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;}
.hp-v223-service-card:nth-child(3n+2){border-top-color:var(--hp-green);}
.hp-v223-service-card:nth-child(3n){border-top-color:var(--hp-navy);}
.hp-v223-service-card:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(10,29,53,.14);border-color:#d6e0e9;}
.hp-v223-service-icon{position:absolute;top:20px;right:22px;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff4ed;color:var(--hp-orange);font-size:22px;font-weight:900;box-shadow:0 5px 16px rgba(10,29,53,.08);}
.hp-v223-service-card:nth-child(3n+2) .hp-v223-service-icon{background:#f1f7e8;color:var(--hp-green);}
.hp-v223-service-card:nth-child(3n) .hp-v223-service-icon{background:#edf2f8;color:var(--hp-navy);}
.hp-v223-service-card h3{margin:0!important;padding-right:50px;color:var(--hp-navy)!important;font-size:20px!important;line-height:1.25!important;font-weight:850!important;letter-spacing:-.02em;}
@media(max-width:900px){.hp-v223-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.hp-v223-service-card{min-height:155px;padding:24px 20px}.hp-v223-service-card h3{font-size:18px!important;}}
@media(max-width:767px){.hp-v223-services{grid-template-columns:1fr;gap:14px;margin-top:22px}.hp-v223-service-card{min-height:135px;padding:23px 20px}.hp-v223-service-card h3{font-size:19px!important}.hp-v223-service-icon{top:17px;right:18px;width:40px;height:40px;font-size:20px;}}


/* =========================================================
   Harry Painter V2.2.4 — Elegant Color Edition
   Premium palette: Deep Navy + Terracotta + Sage + Ivory + Sand
   Presentation-only layer; Elementor content and builder logic untouched.
   ========================================================= */
:root{
  --hp-navy:#102A43;
  --hp-navy-2:#173B5E;
  --hp-orange:#E76F35;
  --hp-orange-2:#F28B5B;
  --hp-green:#7A9E3A;
  --hp-green-2:#91AF56;
  --hp-cream:#FAF8F3;
  --hp-sand:#E9DFCE;
  --hp-light:#F4F1EA;
  --hp-border:#E9DFCE;
  --hp-text:#263238;
  --hp-muted:#5F6B73;
  --hp-shadow:0 14px 40px rgba(16,42,67,.08);
  --hp-shadow-hover:0 22px 52px rgba(16,42,67,.13);
}

body{background:#FAF8F3;color:#263238;}
.hp-site-header{background:rgba(255,255,255,.97);border-bottom-color:#E9DFCE;box-shadow:0 4px 22px rgba(16,42,67,.07);}
.hp-menu a{color:#102A43!important;}
.hp-menu a:hover{color:#E76F35!important;}
.hp-call{border-color:#D9D2C5;background:#fff;color:#102A43!important;}
.hp-quote,.elementor-button{background:#E76F35!important;}
.hp-quote:hover,.elementor-button:hover{background:#F28B5B!important;}
.hp-green-button .elementor-button,.elementor-button.hp-green-button{background:#7A9E3A!important;}
.hp-green-button .elementor-button:hover,.elementor-button.hp-green-button:hover{background:#91AF56!important;}

a{color:#E76F35;}
.elementor-widget-text-editor{color:#5F6B73;}
.elementor-widget-heading h1,.elementor-widget-heading h2,.elementor-widget-heading h3,.elementor-widget-heading h4{color:#102A43;}

/* Give selected broad sections a warm premium canvas without disturbing Elementor backgrounds. */
.hp-v223-services{margin-top:30px;}
.hp-v223-service-card{background:#fff;border-color:#E9DFCE;border-top-color:#E76F35;box-shadow:0 12px 32px rgba(16,42,67,.07);}
.hp-v223-service-card:nth-child(3n+2){border-top-color:#7A9E3A;}
.hp-v223-service-card:nth-child(3n){border-top-color:#102A43;}
.hp-v223-service-icon{background:#FFF1E9;color:#E76F35;}
.hp-v223-service-card:nth-child(3n+2) .hp-v223-service-icon{background:#F1F5E8;color:#7A9E3A;}
.hp-v223-service-card:nth-child(3n) .hp-v223-service-icon{background:#EEF3F7;color:#102A43;}
.hp-v223-service-card h3{color:#102A43!important;}

.elementor-widget-icon-box .elementor-icon{color:#E76F35;}
.elementor-accordion .elementor-accordion-item{border-color:#E9DFCE!important;}
.elementor-accordion .elementor-tab-title{color:#102A43!important;}
.elementor-accordion .elementor-tab-title:hover{color:#E76F35!important;background:#FFF8F3;}
.elementor-field-group input:focus,.elementor-field-group textarea:focus,.elementor-field-group select:focus{border-color:#E76F35!important;box-shadow:0 0 0 3px rgba(231,111,53,.10)!important;}

.hp-site-footer{background:linear-gradient(135deg,#102A43 0%,#173B5E 100%);}
.hp-footer-accent{color:#E76F35;}
.hp-mobile-cta a:nth-child(2){background:#7A9E3A;}
.hp-mobile-cta a:last-child{background:#E76F35;}

/* Elegant utility accents for Elementor sections that already use these classes. */
.hp-accent-orange{color:#E76F35!important;}
.hp-accent-green{color:#7A9E3A!important;}
.hp-accent-navy{color:#102A43!important;}
.hp-bg-ivory{background:#FAF8F3!important;}
.hp-bg-sand{background:#E9DFCE!important;}
.hp-bg-navy{background:#102A43!important;color:#fff;}

@media(max-width:767px){
  body{background:#FAF8F3;}
  .hp-site-footer{background:#102A43;padding-bottom:92px;}
}
