@font-face{font-family:GiftovationDM;src:url('../../../giftovation/assets/fonts/dm-sans.ttf') format('truetype');font-display:swap}
@font-face{font-family:GiftovationPlayfair;src:url('../../../giftovation/assets/fonts/playfair-display.ttf') format('truetype');font-display:swap}
:root{--gvb-green:#173b34;--gvb-dark:#102c26;--gvb-gold:#d5b47c;--gvb-ivory:#faf7f0;--gvb-sage:#a8b8a9}
body{background:var(--gvb-ivory)}
.gvb-page-content{width:100%;min-height:25vh}
.gvb-page-content>.elementor{max-width:none;margin:0}
.gvb-section{max-width:none}
.gvb-section .elementor-widget-heading h1,.gvb-section .elementor-widget-heading h2,.gvb-section .elementor-widget-heading h3{font-family:'Playfair Display',GiftovationPlayfair,Georgia,serif;font-weight:400;letter-spacing:-.027em}
.gvb-section .elementor-widget-text-editor{font-family:'DM Sans',GiftovationDM,Arial,sans-serif;line-height:1.7}
.gvb-section .elementor-button{border-radius:1px}
.gvb-gift-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.gvb-gift-item{min-width:0;font-family:GiftovationDM,Arial,sans-serif}
.gvb-gift-item a{text-decoration:none;color:var(--gvb-green)}
.gvb-gift-item img,.gvb-gift-placeholder{display:block;width:100%;aspect-ratio:1.2/1;object-fit:cover;background:#e8ece3}
.gvb-gift-placeholder{display:grid;place-items:center;font-size:55px;color:#9bac9e}
.gvb-gift-item h3{font:400 clamp(19px,2vw,27px)/1.15 GiftovationPlayfair,Georgia,serif;color:var(--gvb-green);margin:15px 0 9px}
.gvb-gift-item p{font-size:13px;line-height:1.7;color:#5b665f}
.gvb-gift-item small{color:#64716b;font-size:11px}
.gvb-site-part{width:100%}
.gvb-site-part-header{position:relative;z-index:10;background:var(--gvb-ivory)}
.gvb-site-part-footer{background:var(--gvb-dark);color:white}
.gvb-brand .custom-logo{max-width:230px;width:auto;height:auto}
.gvb-brand-name{font:500 26px GiftovationDM,Arial,sans-serif;text-decoration:none;color:var(--gvb-green)}
.gvb-nav-widget{font-family:GiftovationDM,Arial,sans-serif}
.gvb-nav-list{display:flex;gap:24px;align-items:center;list-style:none;padding:0!important;margin:0!important}
.gvb-nav-list li{position:relative;list-style:none;margin:0}
.gvb-nav-list a{font:500 13px/1.4 GiftovationDM,Arial,sans-serif;text-decoration:none;color:var(--gvb-green);padding:10px 0;display:block}
.gvb-nav-list a:hover,.gvb-nav-list .current-menu-item>a{text-decoration:underline;text-underline-offset:4px}
.gvb-nav-list .sub-menu{display:none;position:absolute;left:0;top:100%;min-width:190px;background:white;box-shadow:0 5px 20px #173b3426;padding:12px 16px!important;z-index:11}
.gvb-nav-list li:hover>.sub-menu,.gvb-nav-list li:focus-within>.sub-menu{display:block}
.gvb-nav-toggle{display:none;font:500 13px GiftovationDM,Arial,sans-serif;border:1px solid var(--gvb-green);background:transparent;color:var(--gvb-green);padding:10px;cursor:pointer}
.gvb-nav-unassigned{font-size:12px;color:#b14c4c}
.gvb-site-part-footer .gvb-nav-list{display:block}
.gvb-site-part-footer .gvb-nav-list a{color:#faf7f0}
.gvb-site-part-footer .gvb-nav-list .sub-menu{position:static;display:block;box-shadow:none;background:transparent;padding:0 0 0 12px!important}
.gvb-template-preview{background:var(--gvb-ivory)}
.gvb-template-preview .elementor{max-width:none}
.gvb-page-content .gvv-quote-form{max-width:950px}
@media(max-width:850px){
  .gvb-nav-toggle{display:inline-flex;gap:12px;align-items:center}
  .gvb-nav{display:none;position:relative}
  .gvb-nav.is-open{display:block}
  .gvb-nav-list{flex-direction:column;align-items:flex-start;gap:0}
  .gvb-nav-list .sub-menu{position:static;display:block;box-shadow:none;background:transparent;padding:0 0 0 16px!important}
  .gvb-nav-list a{padding:12px 0}
  .gvb-gift-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){.gvb-gift-grid{grid-template-columns:1fr}}

.gvb-site-part-footer .gvb-brand-name{color:#FAF7F0}
.gvb-single-gift-image img{width:100%;height:auto;object-fit:cover}
.gvb-single-gift-description{line-height:1.8}
.gvb-single-gift-description a{color:inherit}
.gvb-gift-details{margin-top:18px}

/* v4.1 conversion polish. These styles are intentionally scoped to imported
   Giftovation sections; newly inserted Elementor containers are unaffected. */
.gvb-section, .gvb-section *{box-sizing:border-box}
.gvb-section .e-con{min-width:0}
.gvb-imported-hero .elementor-widget-heading h1{
    font-size:clamp(46px,4.7vw,77px);line-height:1.08;letter-spacing:-.047em;
    max-width:610px;margin:0;
}
.gvb-section .elementor-widget-heading h2{
    font-size:clamp(34px,3.5vw,56px);line-height:1.14;
}
.gvb-imported-hero .elementor-widget-heading h6,
.gvb-section .elementor-widget-heading h6{
    font:500 11px/1.55 GiftovationDM,Arial,sans-serif;
    text-transform:uppercase;letter-spacing:.17em;
}
.gvb-section .elementor-widget-heading em{font-weight:400;color:#7B886C}
.gvb-imported-cta .elementor-widget-heading em{color:#D5B47C}
.gvb-imported-hero .elementor-widget-text-editor{font-size:15px;max-width:550px}
.gvb-imported-hero .elementor-button{padding:15px 22px;min-height:46px}
.gvb-imported-hero .elementor-widget-image img{
    display:block;width:100%;max-width:100%;height:clamp(420px,41vw,620px);
    object-fit:cover;object-position:center center;border-radius:48% 48% 1px 1px;
}
.gvb-imported-hero .elementor-widget-image{width:100%}
.gvb-imported-hero .elementor-widget-image .elementor-widget-container{width:100%}
.gvb-imported-steps .elementor-widget-heading h3,
.gvb-imported-cards .elementor-widget-heading h3{font-size:clamp(22px,2.3vw,31px)}
@media (max-width:1024px){
    .gvb-imported-hero .elementor-widget-image img{height:min(68vw,580px)}
    .gvb-imported-hero .elementor-widget-heading h1{max-width:750px}
}
@media (max-width:767px){
    .gvb-imported-hero .elementor-widget-heading h1{font-size:clamp(42px,10vw,59px)}
    .gvb-imported-hero .elementor-widget-image img{height:clamp(340px,115vw,500px)}
    .gvb-section .elementor-widget-heading h2{font-size:clamp(32px,8vw,45px)}
    .gvb-imported-hero .elementor-widget-text-editor{font-size:14px}
}
