/* 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;}
/* topbar crypto-discount promo pill ---- */
.cv-tbi-offer{background:rgba(192,138,62,0.18)!important;border:1px solid rgba(192,138,62,0.45)!important;border-radius:999px!important;padding:2px 12px!important;}
.cv-tbi-offer .elementor-heading-title{letter-spacing:.02em;}
/* checkout: 'save 10%' highlight on the crypto method ---- */
.cv-crypto-save{display:inline-block;background:#e8d4ad;color:#14201a;padding:6px 12px;border-radius:8px;font-size:.85rem;margin:0 0 10px;}
.cv-crypto-save strong{color:#14201a;}
.cv-topbar{max-width:100%;overflow-x:hidden;}
/* mobile: keep it one compact line like desktop (swipeable) instead of stacking tall */
@media (max-width:600px){
  .cv-topbar{overflow-x:auto!important;justify-content:flex-start!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .cv-topbar > .e-con-inner{flex-wrap:nowrap!important;justify-content:flex-start!important;width:max-content!important;max-width:none!important;}
  .cv-topbar .cv-tbi{width:auto!important;}
  .cv-topbar .elementor-heading-title{font-size:.72rem!important;}
  .cv-topbar::-webkit-scrollbar{display:none;}
}

/* ---- 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: keep title readable on light illustrations ---- */
.cv-cat h3,.cv-cat .elementor-heading-title,.cv-cat .elementor-widget-text-editor{text-shadow:0 1px 8px rgba(20,32,26,0.65),0 0 2px rgba(20,32,26,0.5);}

/* ---- 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;}

/* ---- comparison table: scroll horizontally on small screens instead of squishing ---- */
.cv-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;}
.cv-table{min-width:560px;}

/* ---- 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:center;}
.cv-newsletter-form .wpforms-field{padding:0!important;flex:1 1 280px;max-width:360px;}
.cv-newsletter-form .wpforms-field-label,.cv-newsletter-form .wpforms-field-description{display:none!important;}
.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;border-radius:20px;box-shadow:0 12px 36px rgba(20,32,26,.12);}
.cv-badge{position:relative;z-index:2;}

/* ---- hero auto-rotating carousel (CSS crossfade, 6 images) ---- */
.cv-hero-media .elementor-widget-html{position:absolute!important;inset:0;z-index:0;height:100%;margin:0!important;padding:0!important;}
.cv-hero-media .elementor-widget-html .elementor-widget-container{height:100%;}
.cv-hero-carousel{position:absolute;inset:0;z-index:0;}
.cv-hero-carousel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:cvHeroFade 36s infinite;}
.cv-hero-carousel img:nth-child(1){animation-delay:0s}
.cv-hero-carousel img:nth-child(2){animation-delay:6s}
.cv-hero-carousel img:nth-child(3){animation-delay:12s}
.cv-hero-carousel img:nth-child(4){animation-delay:18s}
.cv-hero-carousel img:nth-child(5){animation-delay:24s}
.cv-hero-carousel img:nth-child(6){animation-delay:30s}
@keyframes cvHeroFade{0%{opacity:0}4%{opacity:1}16%{opacity:1}22%{opacity:0}100%{opacity:0}}
@media (prefers-reduced-motion: reduce){.cv-hero-carousel img{animation:none!important}.cv-hero-carousel img:not(:first-child){opacity:0}.cv-hero-carousel img:first-child{opacity:1}}

/* ---- contact: Topic select — readable dark text + custom chevron, no clipping ---- */
.wpforms-container select{color:#14201a!important;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:auto!important;min-height:52px;line-height:1.4!important;padding:.85rem 2.4rem .85rem 1rem!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231f3a2e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:16px!important;}
.wpforms-container select option{color:#14201a;}

/* ---- product cards: full-bleed square image + badges as corner overlays ---- */
.cv-card{padding:0!important;}

/* ---- journal post-card thumbs: real <img> overlay (bg override-proof) ---- */
.cv-pthumb{position:relative;overflow:hidden;}
.cv-pthumb .elementor-widget-html{position:absolute!important;inset:0;height:100%;margin:0!important;padding:0!important;}
.cv-pthumb .elementor-widget-html .elementor-widget-container{height:100%;}
.cv-pthumb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}

/* ---- journal post-card thumbs: force bg images (override stray background:none) ---- */
.elementor-element-9d4d40f{background-image:url("https://cannovo.shop/wp-content/uploads/2026/06/pexels-photo-30682041.jpeg")!important;background-size:cover!important;background-position:center center!important;}
.elementor-element-40ddb94{background-image:url("https://cannovo.shop/wp-content/uploads/2026/06/pexels-photo-15831822.jpeg")!important;background-size:cover!important;background-position:center center!important;}
.elementor-element-6de1690{background-image:url("https://cannovo.shop/wp-content/uploads/2026/06/pexels-photo-8140284.jpeg")!important;background-size:cover!important;background-position:center center!important;}
.cv-prodthumb{position:relative!important;aspect-ratio:1/1;min-height:0!important;padding:0!important;}
.cv-prodbadges{position:absolute!important;top:0;left:0;right:0;width:auto!important;padding:12px!important;}

/* ---- hero trust badge: compact, single-line text (no awkward wrap on mobile) ---- */
.cv-badge{padding:10px 14px!important;gap:10px!important;}
.cv-badge .elementor-heading-title{white-space:nowrap;font-size:.85rem!important;}
.cv-badge .elementor-widget-text-editor,.cv-badge .elementor-widget-text-editor p{white-space:nowrap;font-size:.72rem!important;}

/* ---- trust strip: center each icon+label group on mobile ---- */
@media (max-width:767px){
  .cv-trust-grid > .e-con-inner > .e-con{justify-content:center!important;}
}

/* ---- crypto checkout: familiar-vs-new branching + guide ---- */
.cv-crypto-pay .cv-crypto-branch{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;}
.cv-crypto-pay .cv-crypto-branch label{font-weight:600;cursor:pointer;font-size:.9rem;color:#14201a;}
.cv-crypto-pay .cv-crypto-branch input[type=radio]{margin:0 6px 0 0;width:auto;}
.cv-crypto-guide{display:none;flex-basis:100%;margin-top:8px;padding:14px 16px;background:#efece1;border-radius:12px;font-size:.9rem;color:#3b463f;}
#cv_exp_n:checked ~ .cv-crypto-guide{display:block;}
.cv-crypto-guide ol{margin:8px 0 0;padding-left:18px;list-style:decimal;}
.cv-crypto-guide li{margin-bottom:6px;}
.cv-crypto-guide .cv-crypto-help{display:block;margin-top:8px;color:#6c766e;}

/* ---- payment instructions (order-received + email) ---- */
.cv-pay-instructions{margin:0 0 24px;}
.cv-pay-instructions h2{font-family:'Spectral',serif;font-size:1.4rem;margin:0 0 8px;}
.cv-addr-grid{display:grid;gap:12px;grid-template-columns:1fr;margin:14px 0;}
@media(min-width:600px){.cv-addr-grid{grid-template-columns:repeat(2,1fr);}}
.cv-addr{border:1px solid #e1ddcf;border-radius:12px;padding:12px 14px;background:#fffefb;}
.cv-addr-h{font-weight:600;font-size:.82rem;color:#1f3a2e;margin-bottom:6px;}
.cv-addr-b{display:flex;align-items:center;gap:12px;justify-content:space-between;}
.cv-addr-b code{word-break:break-all;font-size:.78rem;background:#f6f4ec;padding:4px 6px;border-radius:6px;}
.cv-pay-note{font-size:.85rem;color:#6c766e;}
.cv-pay-cs{font-size:.92rem;background:#e8d4ad;color:#14201a;padding:12px 14px;border-radius:12px;margin-top:10px;}
.cv-age21{margin-top:8px;font-size:.9rem;}
.cv-age21 input{width:auto;margin-right:6px;}

/* ---- crypto guide: embedded how-to video ---- */
.cv-crypto-video{position:relative;width:100%;max-width:480px;aspect-ratio:16/9;margin:10px 0 4px;border-radius:10px;overflow:hidden;background:#000;}
.cv-crypto-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ---- header cart badge (live count) ---- */
.cv-cart{position:relative;}
.cv-cart-count{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#c08a3e;color:#14201a;font-size:.7rem;font-weight:700;line-height:20px;text-align:center;box-shadow:0 0 0 2px #f6f4ec;pointer-events:none;}
.cv-cart-count[data-count="0"]{display:none;}

/* ---- mobile: swap cart icon and hamburger/menu positions ---- */
@media (max-width:1024px){
  .cv-site-header .cv-cart{order:-1;margin-right:6px;}
}

/* ---- order-received popup modal ---- */
.cv-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(20,32,26,.6);backdrop-filter:blur(3px);}
.cv-modal.cv-hidden{display:none;}
body.cv-modal-open{overflow:hidden;}
.cv-modal-box{background:#fffefb;border-radius:20px;padding:32px 28px;max-width:420px;width:100%;text-align:center;box-shadow:0 24px 60px rgba(20,32,26,.3);}
.cv-modal-box h2{font-family:'Spectral',serif;font-size:1.6rem;margin:6px 0 8px;}
.cv-modal-box p{color:#3b463f;font-size:.95rem;margin-bottom:18px;}
.cv-modal-tick{width:54px;height:54px;border-radius:999px;background:#1f3a2e;color:#e8d4ad;font-size:1.6rem;line-height:54px;margin:0 auto 6px;}
.cv-modal-box .button{background:#14201a;color:#fff;border:0;border-radius:999px;padding:.85rem 1.6rem;font-weight:600;cursor:pointer;}
.cv-modal-box .button:hover{background:#1f3a2e;}

/* ---- payment proof upload ---- */
.cv-receipt{margin:18px 0 6px;padding:18px 18px 20px;border:1px dashed #c08a3e;border-radius:14px;background:#fffefb;}
.cv-receipt h3{font-family:'Spectral',serif;font-size:1.15rem;margin:0 0 6px;}
.cv-receipt p{font-size:.9rem;color:#6c766e;margin:0 0 10px;}
.cv-receipt-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.cv-receipt-form input[type=file]{flex:1 1 220px;font-size:.85rem;}
.cv-receipt-form .button{background:#c08a3e;color:#14201a;border:0;border-radius:999px;padding:.7rem 1.3rem;font-weight:600;cursor:pointer;}
.cv-receipt-ok{color:#3f8f5b;font-weight:600;}
.cv-receipt-err{color:#b5483b;font-weight:600;}

/* ---- policy / legal pages ---- */
.cv-policy{max-width:820px;margin:0 auto;padding:56px 20px 72px;color:#3b463f;line-height:1.7;}
.cv-policy h1{font-family:'Spectral',serif;font-size:clamp(2rem,5vw,2.8rem);color:#14201a;margin:0 0 28px;letter-spacing:-0.01em;}
.cv-policy h2{font-family:'Spectral',serif;font-size:1.25rem;color:#1f3a2e;margin:28px 0 8px;}
.cv-policy p{margin:0 0 12px;}
.cv-policy ul{margin:0 0 14px;padding-left:20px;list-style:disc;}
.cv-policy li{margin-bottom:6px;}
.cv-policy a{color:#c08a3e;text-decoration:underline;}
.cv-policy strong{color:#14201a;}
.cv-policy em{color:#6c766e;font-size:.9rem;}

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