/*
Theme Name: GroutCraft Studio
Theme URI: https://host380.com/
Author: Host380
Author URI: https://host380.com/
Description: Elegant, Elementor-editable tile and grout restoration WordPress theme featuring the original navy, silver and gold aesthetic; native editable page widgets; color and font choices; and bring-your-own contact forms.
Version: 4.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: groutcraft-studio
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: custom-logo, custom-menu, featured-images, theme-options, two-columns
*/
:root{--gc-navy:#061a35;--gc-blue:#0b416f;--gc-gold:#d5ab4e;--gc-silver:#cbd4df;--gc-ink:#17263c;--gc-muted:#536277;--gc-pale:#f4f6f9;--gc-white:#fff;--gc-heading:Georgia,"Times New Roman",serif;--gc-body:Arial,Helvetica,sans-serif;--gc-shadow:0 16px 38px rgba(5,26,54,.13)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--gc-ink);font:16px/1.65 var(--gc-body)}input,button,select,textarea{font-family:var(--gc-body)}img{max-width:100%;height:auto}a{color:var(--gc-blue);text-decoration:none}a:hover{text-decoration:none}button{cursor:pointer}h1,h2,h3,h4,h5,h6{font-family:var(--gc-heading)}.gc-container{width:min(1160px,calc(100% - 56px));margin-inline:auto}
.gc-skip{position:absolute;top:-100px;left:10px;z-index:99999;background:#fff;color:#071b37;padding:12px}.gc-skip:focus{top:10px}
/* Header: intentionally retains the reference design's midnight blue, silver monogram, and golden CTA. */
.gc-header{position:relative;z-index:200;background:linear-gradient(95deg,var(--gc-navy),#031326 90%);border-bottom:2px solid var(--gc-gold);box-shadow:0 4px 22px rgba(0,0,0,.17)}
.gc-header-inner{min-height:91px;display:flex;align-items:center;gap:25px}.gc-brand{display:inline-flex;align-items:center;gap:12px;color:#e7e9ed;min-width:270px;white-space:nowrap}.gc-brand:hover{color:#fff}.gc-mark{width:52px;height:52px;border:3px solid #bbbfbf;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(255,255,255,.08);display:grid;place-items:center;font:bold 40px/1 var(--gc-heading);background:linear-gradient(145deg,#f6f6ed,#aebac6 55%,#d4aa58);-webkit-background-clip:text;background-clip:text;color:transparent}.gc-brand-label{display:inline-block;font:bold clamp(16px,1.7vw,23px)/1.12 var(--gc-heading);text-transform:uppercase;letter-spacing:-.025em;color:#d5d9e0}.gc-brand-logo{display:block;max-width:245px;max-height:61px;object-fit:contain}.gc-nav{margin-left:auto}.gc-nav .menu,.gc-nav ul{list-style:none;display:flex;align-items:center;gap:2px;margin:0;padding:0}.gc-nav a{display:block;font-size:14px;font-weight:700;color:#eef2f8;padding:11px 10px;white-space:nowrap}.gc-nav a:hover,.gc-nav .current-menu-item>a{color:var(--gc-gold)}.gc-header-cta{background:linear-gradient(100deg,var(--gc-gold),#f3d187);padding:15px 20px;white-space:nowrap;border-radius:3px;color:#0b1b2f;font-size:13px;font-weight:800;box-shadow:0 3px 12px rgba(0,0,0,.19)}.gc-header-cta:hover{filter:brightness(1.05)}.gc-menu-toggle{display:none;border:1px solid #8295a8;background:transparent;color:#fff;border-radius:3px;font-size:24px;padding:6px 12px;margin-left:auto}
/* Elementor wrappers are used on purpose; there are no HTML widgets in starter content. */
.gc-page-content,.gc-page-content>.elementor{width:100%;overflow:hidden}.gc-page-content .elementor-widget{max-width:100%}.elementor .elementor-widget-heading .elementor-heading-title{font-family:var(--gc-heading)}
.elementor .gc-hero{position:relative;width:100%;min-height:522px;background:var(--gc-navy);color:#fff;border-bottom:4px solid var(--gc-gold);overflow:hidden}.elementor .gc-hero>.elementor-container{width:100%!important;max-width:100%!important;min-height:522px;position:relative;display:block!important}.elementor .gc-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(3,19,43,.99) 0%,rgba(3,19,43,.98) 30%,rgba(3,19,43,.93) 40%,rgba(3,19,43,.69) 56%,rgba(3,19,43,.16) 75%,rgba(3,19,43,.05) 100%);pointer-events:none}.elementor .gc-hero>.elementor-container>.gc-hero-copy{position:relative;z-index:3;width:100%!important;min-height:522px;display:flex;align-items:center;padding:77px max(4.1%,calc((100vw - 1160px)/2)) 77px!important}.elementor .gc-hero-copy>.elementor-widget-wrap{display:block;flex:0 0 auto;width:min(610px,100%);align-content:center;padding:0!important}.elementor .gc-hero>.elementor-container>.gc-hero-photo{position:absolute;inset:0;width:100%!important;min-height:522px;z-index:0;pointer-events:none}.elementor .gc-hero-photo>.elementor-widget-wrap,.elementor .gc-hero-image,.elementor .gc-hero-image>.elementor-widget-container{width:100%;height:100%;padding:0!important;margin:0!important}.elementor .gc-hero-image img{width:100%!important;height:522px!important;max-height:none!important;display:block;object-fit:cover;object-position:center center}.elementor .gc-hero .gc-kicker .elementor-heading-title{font:700 20px/1.4 var(--gc-body)!important;color:var(--gc-gold);letter-spacing:0;text-transform:none}.elementor .gc-hero .gc-hero-title .elementor-heading-title{font:700 clamp(44px,5.15vw,65px)/1.105 var(--gc-heading)!important;letter-spacing:-.025em;color:#fff;margin:9px 0 13px}.elementor .gc-hero .gc-hero-desc,.elementor .gc-hero .gc-hero-desc p{color:#eef3f9;font-size:20px;line-height:1.55;margin:10px 0 21px}.gc-gold-dot{color:var(--gc-gold);font-weight:800}.elementor .gc-hero .elementor-widget-heading{margin-bottom:5px}.elementor .gc-hero .gc-hero-desc{margin-bottom:16px}.elementor .gc-hero .elementor-widget-button{display:inline-block!important;width:auto!important;margin:0 12px 0 0!important}
.elementor .gc-button-gold .elementor-button,.elementor .gc-button-outline .elementor-button{font:800 15px/1.25 var(--gc-body)!important;text-decoration:none;border-radius:3px;padding:15px 23px;display:inline-flex;align-items:center;justify-content:center;min-height:52px;transition:transform .15s ease,filter .15s ease}.elementor .gc-button-gold .elementor-button{background:linear-gradient(105deg,#edcc78,var(--gc-gold))!important;border:1px solid #e5c16c;color:#071a34!important;box-shadow:0 5px 15px rgba(0,0,0,.13)}.elementor .gc-button-outline .elementor-button{background:transparent!important;border:1px solid var(--gc-gold);color:#fff!important}.elementor .gc-button-gold .elementor-button:hover,.elementor .gc-button-outline .elementor-button:hover{filter:brightness(1.08);transform:translateY(-2px)}
/* Services reference: centered serif heading, gold detail, three large photographic cards. */
.elementor .gc-services-heading{padding:5px 0 0!important;background:#fff}.elementor .gc-services-heading>.elementor-container,.elementor .gc-process-heading>.elementor-container,.elementor .gc-title-section>.elementor-container{max-width:1160px!important}.elementor .gc-services-heading .elementor-widget-wrap,.elementor .gc-title-section .elementor-widget-wrap{text-align:center;display:flex;flex-direction:column;align-items:center}.elementor .gc-services-heading .gc-kicker{display:none}.elementor .gc-services-heading .gc-section-title .elementor-heading-title{font-size:46px!important;color:var(--gc-navy);margin:0;font-weight:700}.elementor .gc-services-heading .gc-section-title::after{content:'✦';display:block;text-align:center;color:var(--gc-gold);font-size:18px;line-height:10px;width:200px;margin:0 auto;border-top:1px solid rgba(213,171,78,.32);padding-top:0}.elementor .gc-services-heading .gc-section-copy{max-width:760px;margin:4px auto 0;color:var(--gc-muted);font-size:16px}
.elementor .gc-services-grid{background:#fff;padding:6px 0 73px}.elementor .gc-services-grid>.elementor-container{width:min(1048px,calc(100% - 60px));max-width:1048px!important;display:flex;gap:40px;align-items:stretch}.elementor .gc-services-grid>.elementor-container>.gc-service-card{width:calc((100% - 80px)/3)!important;flex:0 0 auto;box-shadow:var(--gc-shadow);border:1px solid #d9e0e7;border-top:0;background:#fff;border-radius:7px;overflow:hidden}.elementor .gc-service-card>.elementor-widget-wrap{padding:0 0 23px!important;display:block;position:relative}.elementor .gc-service-card .gc-card-image{margin:0!important}.elementor .gc-service-card .gc-card-image>.elementor-widget-container{height:185px;overflow:hidden}.elementor .gc-service-card .gc-card-image img{width:100%;height:185px;object-fit:cover;display:block}.elementor .gc-service-card .gc-card-index{margin:-26px 0 14px!important;z-index:3;position:relative;text-align:center}.elementor .gc-service-card .gc-card-index .elementor-heading-title{width:53px;height:53px;display:grid;place-items:center;margin:auto;border-radius:50%;background:var(--gc-navy);color:var(--gc-gold);font:800 17px var(--gc-body);border:2px solid #dce3eb;box-shadow:0 6px 16px rgba(0,0,0,.12)}.elementor .gc-service-card .gc-card-heading .elementor-heading-title{font-size:25px;color:var(--gc-navy);line-height:1.2;margin:0}.elementor .gc-service-card .gc-card-copy{font-size:15px;color:var(--gc-muted)}.elementor .gc-service-card .elementor-widget:not(.gc-card-image):not(.gc-card-index){padding:0 23px}.elementor .gc-card-link .elementor-button{background:none!important;color:var(--gc-blue)!important;border:none!important;padding:4px 0!important;font-weight:800}
/* Page heroes and standard content. */
.elementor .gc-page-hero{background:linear-gradient(115deg,var(--gc-navy),var(--gc-blue));color:#fff;border-bottom:3px solid var(--gc-gold);padding:68px 0 65px}.elementor .gc-page-hero>.elementor-container{max-width:1160px!important;width:min(1160px,calc(100% - 56px))}.elementor .gc-page-hero .gc-kicker .elementor-heading-title{font:700 16px var(--gc-body);color:var(--gc-gold)}.elementor .gc-page-hero .gc-hero-title .elementor-heading-title{font-size:clamp(38px,4.2vw,57px);color:#fff;line-height:1.15;margin:12px 0}.elementor .gc-page-hero .gc-hero-desc,.elementor .gc-page-hero .gc-hero-desc p{font-size:19px;color:#e4ebf4;max-width:780px}.elementor .gc-page-hero .elementor-widget-button{display:inline-block;margin:7px 12px 0 0;width:auto}.elementor .gc-title-section{padding:64px 0 22px;background:#fff}.elementor .gc-title-section .gc-kicker .elementor-heading-title{font:800 14px var(--gc-body);letter-spacing:.11em;color:var(--gc-gold);text-transform:uppercase}.elementor .gc-title-section .gc-section-title .elementor-heading-title{font-size:clamp(33px,3.7vw,45px);color:var(--gc-navy)}.elementor .gc-title-section .gc-section-copy{max-width:770px;color:var(--gc-muted)}
.elementor .gc-process-heading{padding:67px 0 22px;background:linear-gradient(115deg,var(--gc-navy),var(--gc-blue));color:#fff}.elementor .gc-process-heading .gc-kicker .elementor-heading-title{color:var(--gc-gold)}.elementor .gc-process-heading .gc-section-title .elementor-heading-title{color:#fff}.elementor .gc-process-heading .gc-section-copy{color:#e3ebf3}.elementor .gc-process-grid{background:linear-gradient(115deg,var(--gc-navy),var(--gc-blue));padding:16px 0 78px}.elementor .gc-process-grid>.elementor-container{max-width:1160px!important;width:min(1160px,calc(100% - 56px));display:flex;gap:18px}.elementor .gc-process-grid>.elementor-container>.gc-process-card{background:#fff;color:var(--gc-ink);width:calc((100% - 54px)/4)!important;padding:22px 17px;text-align:center;border-radius:6px;box-shadow:0 12px 30px rgba(0,0,0,.13)}.elementor .gc-process-card .gc-step-number .elementor-heading-title{font:800 25px var(--gc-body);color:var(--gc-gold);background:var(--gc-navy);border-radius:50%;width:55px;height:55px;display:grid;place-items:center;margin:auto}.elementor .gc-process-card .gc-step-title .elementor-heading-title{font-size:21px;color:var(--gc-navy)}.elementor .gc-process-card .gc-step-copy{font-size:14px;color:var(--gc-muted)}
.elementor .gc-details,.elementor .gc-points-list,.elementor .gc-content-section,.elementor .gc-contact-section{padding:75px 0;background:#fff}.elementor .gc-light-section{background:var(--gc-pale)}.elementor .gc-details>.elementor-container,.elementor .gc-points-list>.elementor-container,.elementor .gc-content-section>.elementor-container,.elementor .gc-contact-section>.elementor-container{width:min(1160px,calc(100% - 56px));max-width:1160px!important;display:flex;gap:38px}.elementor .gc-details .gc-detail-primary{width:calc(65% - 19px)!important}.elementor .gc-details .gc-sidebar{width:calc(35% - 19px)!important}.elementor .gc-contact-section .gc-form-content{width:calc(65% - 19px)!important}.elementor .gc-contact-section .gc-sidebar{width:calc(35% - 19px)!important}.elementor .gc-content-title .elementor-heading-title{font-size:clamp(30px,3.3vw,40px);color:var(--gc-navy)}.elementor .gc-subtitle .elementor-heading-title{font-size:25px;color:var(--gc-blue)}.elementor .gc-content-copy{font-size:17px}.elementor .gc-sidebar{background:linear-gradient(145deg,#f6f8fa,#e7edf3);border:1px solid #d6e0e9;border-top:4px solid var(--gc-gold);box-shadow:var(--gc-shadow);padding:28px 25px}.elementor .gc-sidebar-title .elementor-heading-title{color:var(--gc-navy);font-size:26px}.elementor .gc-sidebar .gc-button-gold .elementor-button{font-size:14px}.elementor .gc-checklist .elementor-icon-list-items{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin-top:25px}.elementor .gc-checklist .elementor-icon-list-item{background:#f6f8fa;border:1px solid #dce4ec;padding:12px;color:var(--gc-ink);align-items:flex-start}.elementor .gc-checklist .elementor-icon-list-text{color:var(--gc-ink)}.elementor .gc-checklist .elementor-icon-list-icon{color:var(--gc-gold)}
.elementor .gc-cta-band{background:linear-gradient(105deg,var(--gc-navy),var(--gc-blue));border-block:3px solid var(--gc-gold);padding:33px 0}.elementor .gc-cta-band>.elementor-container{max-width:1160px!important;width:min(1160px,calc(100% - 56px));display:flex;align-items:center;gap:20px}.elementor .gc-cta-message{width:68%!important}.elementor .gc-cta-action{width:32%!important;text-align:right}.elementor .gc-cta-headline .elementor-heading-title{font-size:32px;color:#fff}.elementor .gc-cta-desc{color:#e3edf6}.elementor .gc-cta-desc p{margin:0}.elementor .gc-contact-section{background:#f6f8fb}.elementor .gc-contact-section .gc-form-content{padding-right:20px}.gc-form-shell{background:#fff;border:1px solid #d5e0e9;border-top:4px solid var(--gc-gold);padding:28px;box-shadow:var(--gc-shadow)}.gc-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gc-form-fields label{display:block;font-size:14px;font-weight:700;color:var(--gc-navy)}.gc-form-fields label.gc-full{grid-column:1/-1}.gc-form-fields input,.gc-form-fields textarea,.gc-form-fields select{display:block;width:100%;padding:11px 12px;background:#fff;border:1px solid #c5d0db;color:var(--gc-ink);border-radius:3px;margin-top:6px}.gc-form-fields textarea{min-height:125px}.gc-form-send{margin-top:16px;background:var(--gc-gold);padding:13px 20px;color:var(--gc-navy);font-weight:800;border:0;border-radius:3px}.gc-form-message{padding:13px 16px;background:#eaf5ef;border-left:3px solid #2a8961}.gc-form-error{background:#fdf1e7;border-color:#b75b15}.gc-honeypot{position:absolute!important;left:-9999px!important}.gc-form-integration{background:#fff;border:1px solid #dae2eb;padding:22px}.gc-details-optional p:empty{display:none}
/* Footer attribution is fixed in PHP and is not an Elementor text widget. */
.gc-footer{background:#04152b;color:#cbd8e5;border-top:2px solid var(--gc-gold);padding:57px 0 20px}.gc-footer-inner{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:45px}.gc-footer a{color:#d4e0ec}.gc-footer a:hover{color:var(--gc-gold)}.gc-footer h3{color:#fff;font:700 21px var(--gc-heading);margin:0 0 14px}.gc-footer .gc-brand{min-width:0;margin-bottom:15px}.gc-footer ul{list-style:none;padding:0;margin:0}.gc-footer li{margin-bottom:8px}.gc-footer p{margin:6px 0 16px}.gc-footer-bottom{margin-top:37px;border-top:1px solid rgba(255,255,255,.15);padding-top:19px;display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;font-size:13px}.gc-theme-credit,.gc-theme-credit a{font-weight:800;color:var(--gc-gold)!important}.gc-theme-credit a:hover{text-decoration:underline}.gc-canvas-credit{background:#04152b;color:#dce4ee;text-align:center;padding:17px}
.gc-notice{background:#faf7ed;border-left:3px solid var(--gc-gold);padding:16px}.gc-fallback .elementor-widget,.gc-fallback .elementor-column{position:relative;min-width:0}.gc-fallback .elementor-widget-heading .elementor-heading-title{margin:0;font-weight:700}.gc-fallback .elementor-widget-text-editor{margin:0 0 14px}.gc-fallback .elementor-widget-text-editor p{margin:0 0 9px}.gc-fallback .elementor-widget-wrap{display:block}.gc-fallback .elementor-container{margin:auto}.gc-fallback .elementor-widget-image img{display:block}.gc-fallback .elementor-widget-button .elementor-button{cursor:pointer}
@media(max-width:1120px){.gc-brand{min-width:220px}.gc-nav a{font-size:13px;padding:9px 7px}.gc-header-cta{padding:13px 14px}.gc-header-inner{gap:14px}}
@media(max-width:910px){.gc-menu-toggle{display:block}.gc-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--gc-navy);padding:13px 24px 20px;box-shadow:0 12px 28px rgba(0,0,0,.22)}.gc-nav.gc-open{display:block}.gc-nav .menu,.gc-nav ul{display:block}.gc-nav li{border-bottom:1px solid rgba(255,255,255,.09)}.gc-nav a{padding:11px 2px;font-size:16px}.gc-header-cta{display:none}.elementor .gc-services-grid>.elementor-container,.elementor .gc-process-grid>.elementor-container{flex-wrap:wrap}.elementor .gc-services-grid>.elementor-container>.gc-service-card,.elementor .gc-process-grid>.elementor-container>.gc-process-card{width:calc(50% - 14px)!important}.elementor .gc-details>.elementor-container,.elementor .gc-contact-section>.elementor-container{gap:20px}.gc-footer-inner{grid-template-columns:1fr 1fr;gap:30px}}
@media(max-width:650px){.gc-container{width:calc(100% - 28px)}.gc-header-inner{min-height:73px}.gc-brand{min-width:0}.gc-brand-label{font-size:19px}.gc-mark{width:40px;height:40px;font-size:30px}.gc-menu-toggle{font-size:22px}.elementor .gc-hero,.elementor .gc-hero>.elementor-container{min-height:560px}.elementor .gc-hero>.elementor-container>.gc-hero-copy{min-height:560px;padding:54px 23px!important;align-items:flex-end}.elementor .gc-hero-image img{height:560px!important;object-position:63% center}.elementor .gc-hero::before{background:linear-gradient(0deg,rgba(3,19,43,.97) 0%,rgba(3,19,43,.87) 58%,rgba(3,19,43,.25) 100%)}.elementor .gc-hero .gc-hero-title .elementor-heading-title{font-size:43px!important}.elementor .gc-hero .gc-hero-desc,.elementor .gc-hero .gc-hero-desc p{font-size:16px}.elementor .gc-hero .gc-kicker .elementor-heading-title{font-size:17px!important}.elementor .gc-hero .elementor-widget-button{margin-top:9px!important}.elementor .gc-button-gold .elementor-button,.elementor .gc-button-outline .elementor-button{padding:14px 15px}.elementor .gc-services-heading .gc-section-title .elementor-heading-title{font-size:38px!important}.elementor .gc-services-heading{padding-top:29px!important}.elementor .gc-services-grid>.elementor-container,.elementor .gc-process-grid>.elementor-container{width:calc(100% - 35px);display:block!important}.elementor .gc-services-grid>.elementor-container>.gc-service-card,.elementor .gc-process-grid>.elementor-container>.gc-process-card{width:100%!important;margin:0 0 23px}.elementor .gc-title-section{padding:47px 14px 18px}.elementor .gc-page-hero{padding:48px 0}.elementor .gc-page-hero>.elementor-container{width:calc(100% - 34px)}.elementor .gc-page-hero .gc-hero-title .elementor-heading-title{font-size:39px}.elementor .gc-details,.elementor .gc-contact-section,.elementor .gc-points-list{padding:48px 0}.elementor .gc-details>.elementor-container,.elementor .gc-contact-section>.elementor-container{display:block!important;width:calc(100% - 35px)}.elementor .gc-details .gc-detail-primary,.elementor .gc-details .gc-sidebar,.elementor .gc-contact-section .gc-form-content,.elementor .gc-contact-section .gc-sidebar{width:100%!important}.elementor .gc-sidebar{margin-top:25px}.elementor .gc-checklist .elementor-icon-list-items{grid-template-columns:1fr}.elementor .gc-cta-band>.elementor-container{display:block!important}.elementor .gc-cta-message,.elementor .gc-cta-action{width:100%!important;text-align:left}.elementor .gc-cta-action{margin-top:20px}.elementor .gc-cta-headline .elementor-heading-title{font-size:29px}.gc-form-fields{grid-template-columns:1fr}.gc-footer-inner{grid-template-columns:1fr}.gc-footer-bottom{display:block}.gc-theme-credit{display:block;margin-top:10px}}

/* Avoid Elementor core widget spacing from changing the original composition. */
.gc-page-content .elementor-section .elementor-widget:not(:last-child){margin-bottom:0}.gc-page-content .elementor-section .elementor-column>.elementor-widget-wrap.elementor-element-populated{padding:0}.gc-page-content .gc-detail-primary .elementor-widget:not(:last-child){margin-bottom:15px}
