/* Cannovo polish layer: hover/animations, wrap fixes, premium touches. Targets cv-* classes added via Elementor _css_classes. */

/* ---- prevent inline rows from wrapping on small screens ---- */
.cv-nowrap{flex-wrap:nowrap!important;}
.cv-nowrap > *{flex-shrink:0;}

/* ---- inline group containers hug their content (builder set width:auto intent) ---- */
.cv-hug{width:auto!important;}

/* ---- shaped icon containers (circles / icon boxes / avatars): stay perfectly square at every breakpoint ---- */
.cv-shape{aspect-ratio:1/1!important;flex:0 0 auto!important;}
.cv-shape>.elementor-widget{line-height:0;}

/* ---- topbar items hug their content so they sit in one centered row ---- */
.cv-tbi{width:auto!important;}
.cv-topbar{overflow:hidden;max-width:100%;}
@media (max-width:600px){
  .cv-topbar .cv-tbi{width:100%!important;justify-content:center;}
}

/* ---- card hover lift + shadow ---- */
.cv-card{transition:transform .22s ease, box-shadow .22s ease!important;}
.cv-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(20,32,26,0.14)!important;}

/* ---- category card: image zoom + arrow pill ---- */
.cv-cat{transition:transform .4s ease, box-shadow .3s ease!important;}
.cv-cat:hover{transform:scale(1.035);box-shadow:0 18px 44px rgba(20,32,26,0.18)!important;}
.cv-cat-go{transition:background-color .25s ease!important;}
.cv-cat:hover .cv-cat-go{background-color:#c08a3e!important;}
.cv-cat:hover .cv-cat-go .elementor-icon{color:#14201a!important;}
.cv-cat:hover .cv-cat-go svg{stroke:#14201a!important;fill:#14201a!important;}

/* ---- link-arrow: arrow slides right on hover ---- */
.cv-la .elementor-icon, .cv-la .elementor-icon svg{transition:transform .18s ease!important;}
.cv-la:hover .elementor-icon{transform:translateX(4px);}

/* ---- cart button hover (header) ---- */
.cv-cart{transition:background-color .18s ease,border-color .18s ease,transform .18s ease!important;}
.cv-cart:hover{background-color:#14201a!important;border-color:#14201a!important;transform:translateY(-1px);}
.cv-cart:hover .elementor-icon{color:#fff!important;}
.cv-cart:hover .elementor-icon svg{stroke:#fff!important;}

/* ---- social circles hover (footer) ---- */
.cv-soc{transition:background-color .22s ease,border-color .22s ease,transform .18s ease!important;}
.cv-soc:hover{background-color:#c08a3e!important;border-color:#c08a3e!important;}
.cv-soc:hover .elementor-icon{color:#14201a!important;}
.cv-soc:hover .elementor-icon svg{stroke:#14201a!important;}

/* ---- nav menu link underline accent (premium) ---- */
.xpro-elementor-nav-link{transition:color .15s ease!important;}

/* ---- chips / pills: keep crisp ---- */
.cv-chip{line-height:1.1;}

/* ---- line icons: respect fill:none so closed shapes (instagram, mail, shield, lock, eye) render as outlines, not solid blobs. Star/solid icons (fill=currentColor) are untouched. ---- */
.elementor-icon svg[fill="none"]{fill:none!important;stroke:currentColor!important;}
.elementor-widget-icon .elementor-icon svg{stroke:currentColor;}

/* ---- WPForms styling to match brand (consistent forms) ---- */
.wpforms-container .wpforms-field-label{font-family:'Hanken Grotesk',sans-serif;font-weight:600;font-size:.88rem;color:#14201a;}
.wpforms-container input.wpforms-field-medium,
.wpforms-container input[type=text],
.wpforms-container input[type=email],
.wpforms-container input[type=tel],
.wpforms-container select,
.wpforms-container textarea{width:100%!important;max-width:100%!important;padding:.85rem 1rem!important;background:#fffefb!important;border:1.5px solid #e1ddcf!important;border-radius:12px!important;font-size:1rem!important;color:#14201a!important;box-shadow:none!important;transition:border-color .15s ease,box-shadow .15s ease;}
.wpforms-container input:focus,.wpforms-container select:focus,.wpforms-container textarea:focus{border-color:#1f3a2e!important;box-shadow:0 0 0 3px rgba(192,138,62,.35)!important;outline:none;}
.wpforms-container textarea{min-height:150px;resize:vertical;}
.wpforms-container button[type=submit],.wpforms-submit{display:inline-flex!important;align-items:center;justify-content:center;gap:.5rem;background:#14201a!important;color:#fff!important;font-family:'Hanken Grotesk',sans-serif!important;font-weight:600!important;font-size:.95rem!important;line-height:1!important;padding:.95rem 1.6rem!important;border:1.5px solid #14201a!important;border-radius:999px!important;cursor:pointer;transition:transform .15s ease,background-color .15s ease!important;width:auto;}
.cv-form-block .wpforms-submit-container{margin-top:.25rem;}
.cv-form-block button[type=submit]{width:100%!important;}
.wpforms-container button[type=submit]:hover,.wpforms-submit:hover{background:#1f3a2e!important;transform:translateY(-1px);}
.wpforms-container .wpforms-field{padding:0 0 14px 0!important;}
.cv-newsletter-form .wpforms-form{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:flex-start;}
.cv-newsletter-form .wpforms-field{padding:0!important;flex:1 1 280px;max-width:360px;}
.cv-newsletter-form .wpforms-field-label{display:none;}
.cv-newsletter-form .wpforms-submit-container{padding:0;}

/* ---- button lift ---- */
.cv-btn .elementor-button{transition:transform .15s ease, background-color .15s ease, color .15s ease, border-color .15s ease!important;}
.cv-btn:hover .elementor-button{transform:translateY(-2px);}

/* ---- hero media badge sits inside image ---- */
.cv-hero-media{position:relative;overflow:hidden;}

/* ---- reduce motion respect ---- */
@media (prefers-reduced-motion: reduce){*{transition:none!important;}}
