/* ==========================================================================
   BIO-PRIME — child theme styles (hello-theme-child-master)
   Light theme: white + teal/mint. Self-contained, no Tailwind needed.
   v2 — MOBILE OPTIMIZED
   ========================================================================== */

/* 1. Marquee ------------------------------------------------------------- */
.bp-marquee{background:var(--bp-primary);overflow:hidden;position:fixed;top:0;left:0;right:0;z-index:1000;padding:10px 0;}
.bp-marquee__track{display:flex;white-space:nowrap;animation:bp-marquee 30s linear infinite;}
.bp-marquee__track span{color:#fff;font-size:12px;font-weight:600;letter-spacing:.05em;padding:0 24px;text-transform:uppercase;}
.bp-marquee__track i{opacity:.35;font-style:normal;padding:0 4px;}
@keyframes bp-marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* 2. Nav ----------------------------------------------------------------- */
.bp-header{position:fixed;top:38px;left:0;right:0;z-index:999;padding:18px var(--bp-pad) 0;pointer-events:none;}
.bp-nav{max-width:var(--bp-max);margin:0 auto;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(187,201,199,.4);box-shadow:0 12px 34px rgba(17,21,23,.08);border-radius:9999px;padding:14px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px;pointer-events:auto;}
.bp-nav__brand{font-size:22px;font-weight:700;letter-spacing:-.03em;color:var(--bp-primary);text-decoration:none;display:flex;align-items:center;}
.bp-nav__brand img{max-height:32px;width:auto;}
.bp-nav__links{display:flex;align-items:center;gap:40px;list-style:none;margin:0;padding:0;}
.bp-nav__links li a{color:var(--bp-body);text-decoration:none;font-size:16px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;transition:color .2s;}
.bp-nav__links li a:hover,
.bp-nav__links li.current-menu-item a,
.bp-nav__links li.current_page_item a,
.bp-nav__links li.current_page_parent a,
.bp-nav__links li.current-menu-ancestor a{color:var(--bp-primary);}
.bp-nav__links li.current-menu-item a,
.bp-nav__links li.current_page_item a,
.bp-nav__links li.current_page_parent a,
.bp-nav__links li.current-menu-ancestor a{font-weight:700;text-shadow:0 0 18px rgba(53,224,212,.36);}
.bp-header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
.bp-header-search{position:relative;display:flex;align-items:center;width:220px;min-width:180px;max-width:28vw;height:44px;border:0;border-radius:9999px;background:#fff;box-shadow:0 8px 22px rgba(17,21,23,.06);overflow:hidden;transition:box-shadow .22s ease,background .22s ease;}
.bp-header-search:focus-within{background:#F4FFFE;box-shadow:0 0 0 3px rgba(18,176,168,.1),0 12px 28px rgba(17,21,23,.08);}
.bp-header-search__field{width:100%;height:100%;min-width:0;padding:0 44px 0 16px;border:0!important;box-shadow:none!important;background:transparent;color:var(--bp-text);font-family:inherit;font-size:14px;font-weight:600;letter-spacing:0;outline:0!important;-webkit-appearance:none;appearance:none;}
.bp-header-search__field:focus{border:0!important;box-shadow:none!important;outline:0!important;}
.bp-header-search__field::placeholder{color:rgba(60,73,72,.58);font-weight:600;}
.bp-header-search__submit{position:absolute;top:5px;right:5px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:9999px;background:var(--bp-primary);color:#fff;cursor:pointer;transition:background .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease;}
.bp-header-search__submit i{font-size:14px;line-height:1;}
.bp-header-search__submit:hover,.bp-header-search__submit:focus{background:#F4FFFE;color:var(--bp-primary-dark);box-shadow:0 0 0 1px rgba(53,224,212,.45),0 10px 22px rgba(18,176,168,.2);outline:none;transform:translateY(-1px);}
.bp-header-account{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border-radius:9999px;background:var(--bp-background);border:1px solid rgba(18,176,168,.2);color:var(--bp-primary-dark);text-decoration:none;box-shadow:0 8px 22px rgba(17,21,23,.05);transition:transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease;}
.bp-header-account i{font-size:18px;line-height:1;}
.bp-header-account:hover,.bp-header-account:focus{background:#F4FFFE;color:var(--bp-primary-dark);border-color:rgba(53,224,212,.55);box-shadow:0 0 0 1px rgba(53,224,212,.35),0 12px 28px rgba(18,176,168,.22);outline:none;transform:translateY(-2px);}
.bp-cart-pill{gap:9px;white-space:nowrap;}
.bp-cart-pill__icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;}
.bp-cart-pill__icon i{font-size:15px;line-height:1;}
.bp-cart-pill__count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:9999px;background:#fff;color:#e80000;font-size:12px;font-weight:800;line-height:1;}
.bp-cart-toast{position:fixed;left:24px;bottom:24px;z-index:1200;display:flex;align-items:center;gap:12px;max-width:min(360px,calc(100vw - 48px));padding:14px 18px;border:1px solid rgba(18,176,168,.24);border-radius:16px;background:rgba(255,255,255,.94);color:var(--bp-text);box-shadow:0 18px 44px rgba(17,21,23,.16),0 8px 22px rgba(18,176,168,.12);opacity:0;pointer-events:none;transform:translateY(14px);transition:opacity .22s ease,transform .22s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
.bp-cart-toast.is-visible{opacity:1;transform:translateY(0);}
.bp-cart-toast__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;border-radius:9999px;background:var(--bp-primary);color:#fff;font-size:16px;font-weight:900;line-height:1;}
.bp-cart-toast__text{font-size:14px;font-weight:800;line-height:1.35;}

/* Hamburger toggle (hidden on desktop) */
.bp-nav .bp-navtoggle{display:none;width:44px;height:44px;flex:0 0 44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:var(--bp-primary)!important;border:0!important;border-radius:8px;box-shadow:none!important;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent;}
.bp-nav .bp-navtoggle:hover,
.bp-nav .bp-navtoggle:focus,
.bp-nav .bp-navtoggle:active,
.bp-nav.is-open .bp-navtoggle{background:var(--bp-primary-dark)!important;color:#fff!important;outline:none;}
.bp-navtoggle span{display:block;width:22px;height:2px;border-radius:2px;background:#fff!important;transition:transform .28s ease,opacity .2s ease;}
.bp-nav.is-open .bp-navtoggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.bp-nav.is-open .bp-navtoggle span:nth-child(2){opacity:0;}
.bp-nav.is-open .bp-navtoggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* 3. Hero ---------------------------------------------------------------- */
.bp-hero{display:flex;gap:48px;align-items:center;padding-top:52px;padding-bottom:72px;}
.bp-hero__text{flex:1;transform:translateY(-14px);}
.bp-hero__title{font-size:72px;line-height:1.05;letter-spacing:-.02em;font-weight:700;color:var(--bp-text);margin:20px 0;}
.bp-eyebrow+.bp-hero__title{margin-top:16px;}
.bp-hero__lead{color:var(--bp-body);font-size:18px;max-width:34rem;margin:0 0 8px;}
.bp-hero__actions{display:flex;align-items:center;gap:24px;padding-top:24px;flex-wrap:wrap;}
.bp-social-proof{display:flex;align-items:center;gap:12px;}
.bp-avatars{display:flex;}
.bp-avatar{width:40px;height:40px;border-radius:9999px;border:2px solid #fff;background-size:cover;background-position:center;background-color:var(--bp-background);margin-left:-12px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(17,21,23,.08);}
.bp-avatar--fallback{background:linear-gradient(135deg,var(--bp-background),var(--bp-primary));}
.bp-avatar--icon{background:#fff;border-color:rgba(18,176,168,.28);overflow:hidden;}
.bp-avatar--icon img{display:block;width:100%;height:100%;object-fit:cover;}
.bp-avatars .bp-avatar:first-child{margin-left:0;}
.bp-social-proof__label{font-size:14px;color:var(--bp-meta);}
.bp-social-proof__label strong{color:var(--bp-primary-dark);}

/* Hero mosaic (one image shattered into tiles) */
.bp-hero__media{flex:1;position:relative;width:100%;transform:translateY(-24px);}
.bp-mosaic{height:520px;width:100%;position:relative;overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 24px 54px rgba(17,21,23,.08);}
.bp-mosaic__svg{display:block;width:122%;height:109%;}
.bp-floatcard{position:absolute;bottom:-24px;left:-24px;background:#fff;padding:24px;border-radius:24px;box-shadow:0 20px 48px rgba(17,21,23,.14);border:1px solid rgba(187,201,199,.2);display:flex;align-items:center;gap:16px;max-width:20rem;z-index:10;}
.bp-floatcard__icon{width:48px;height:48px;background:rgba(18,176,168,.1);border-radius:9999px;display:flex;align-items:center;justify-content:center;color:var(--bp-primary);font-size:22px;flex-shrink:0;}
.bp-floatcard__icon i{font-size:22px;line-height:1;}
.bp-floatcard__title{font-weight:700;margin:0;color:#3ea1a4;}
.bp-floatcard__sub{font-size:14px;color:var(--bp-meta);margin:0;}

/* 4. Trust strip --------------------------------------------------------- */
.bp-trust{background:var(--bp-background);border-top:1px solid rgba(187,201,199,.1);border-bottom:1px solid rgba(187,201,199,.1);padding:32px 0;}
.bp-trust__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.bp-trust__item{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#34827d;}
.bp-trust__icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 20px;color:var(--bp-primary);font-size:18px;line-height:1;}

.bp-dna{position:absolute;top:-38px;width:200px;height:auto;pointer-events:none;z-index:0;opacity:.1;stroke:var(--bp-primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none;}
.bp-dna circle{fill:var(--bp-primary);stroke:none;}
.bp-dna--left{left:18px;}
.bp-dna--right{right:34px;}
.bp-about > :not(.bp-dna),.bp-products > .bp-container,.bp-contact > :not(.bp-dna){position:relative;z-index:1;}

/* 5. About --------------------------------------------------------------- */
.bp-about{display:grid;grid-template-columns:minmax(640px,1fr) minmax(500px,560px);gap:42px;align-items:center;min-height:calc(100vh - 40px);width:100%;max-width:none;margin:0;padding:0 max(var(--bp-pad),calc((100vw - 1540px) / 2));position:relative;overflow:hidden;border-radius:0;box-shadow:none;}
.bp-about::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,255,255,.9) 0%,rgba(244,249,249,.78) 44%,rgba(255,255,255,.28) 100%);pointer-events:none;}
.bp-about__text{grid-column:1 / 2;grid-row:1;max-width:880px;position:relative;z-index:3;}
.bp-about .bp-about__title{display:block;max-width:100%;margin:0 0 22px;background:var(--bp-title-shimmer);background-size:220% 100%;background-position:220% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:bp-shimmer 2.5s linear infinite;color:#0A1F1A;font-size:clamp(42px,2.55vw,44px);line-height:1.06;letter-spacing:-.015em;font-weight:800;white-space:nowrap;}
.bp-about .bp-about__title span{display:inline;white-space:nowrap;}
.bp-about__text p{font-size:18px;line-height:1.72;color:#152524;max-width:46rem;margin:18px 0;text-wrap:pretty;}
.bp-about__mark{color:var(--bp-primary-dark);font-weight:800;}
.bp-about__text .bp-btn{margin-top:26px;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border-width:2px;border-color:var(--bp-primary);color:var(--bp-primary);min-width:254px;padding:17px 34px;font-size:16px;box-shadow:0 12px 30px rgba(10,31,26,.06);}
.bp-about__text .bp-btn:hover{background:#F4FFFE;color:var(--bp-primary-dark);}
.bp-about__card{grid-column:2 / 3;grid-row:1;align-self:center;justify-self:end;width:min(560px,100%);position:relative;z-index:3;transform:none;}
.bp-about__card .bp-protocol{background:rgba(255,255,255,.9);padding:30px;border-radius:24px;border:1px solid rgba(18,176,168,.18);box-shadow:0 24px 58px rgba(10,31,26,.1);backdrop-filter:blur(18px);overflow:hidden;}
.bp-about > .bp-about__bannerwrap{position:absolute;inset:0;z-index:0;width:100%;height:100%;margin:0;overflow:hidden;border-radius:0;border:0;box-shadow:none;}
.bp-about__banner{display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
.bp-protocol{background:var(--bp-background);padding:40px;border-radius:24px;border:1px solid rgba(18,176,168,.1);}
.bp-protocol__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;width:100%;margin-bottom:22px;padding:0;border:0;background:transparent;}
.bp-protocol__mini{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;min-height:96px;padding:20px 14px;background:rgba(238,247,246,.78);border:1px solid rgba(18,176,168,.12);box-shadow:0 14px 30px rgba(10,31,26,.04);}
.bp-protocol__mini:first-child{border-radius:10px 0 0 10px;}
.bp-protocol__mini:last-child{border-radius:0 10px 10px 0;border-left:0;}
.bp-protocol__mini-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;color:var(--bp-primary);flex:0 0 auto;}
.bp-protocol__mini-icon i{font-size:24px;line-height:1;}
.bp-protocol__mini strong{display:block;color:var(--bp-primary);font-size:15px;font-weight:800;line-height:1.35;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;}
.bp-protocol__metric,.bp-protocol__metric--main{display:none;}
.bp-protocol__row{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:74px;margin-top:10px;padding:18px 28px;border-radius:12px;background:rgba(255,255,255,.9);border:1px solid rgba(18,176,168,.14);font-weight:700;color:var(--bp-text);}
.bp-protocol__row:first-of-type{margin-top:0;}
.bp-protocol__check{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:#fff;border:2px solid var(--bp-primary);color:var(--bp-primary);font-weight:900;flex:0 0 auto;}
.bp-protocol__check i{font-size:16px;line-height:1;}
.bp-protocol__row strong{display:block;color:#111517;font-size:20px;line-height:1.2;font-weight:600;}
.bp-protocol__row small{display:none;}
.bp-about__card .bp-protocol{display:block;}

/* 6. Products ------------------------------------------------------------ */
.bp-products{background:var(--bp-background);padding-top:64px;padding-bottom:64px;position:relative;overflow:hidden;}
.bp-products__head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:36px;padding-bottom:20px;border-bottom:1px solid var(--bp-hair);}
.bp-products__head > div{display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
.bp-products__head .bp-eyebrow{display:block;}
.bp-products__head .bp-h2{display:block;margin-bottom:0;font-size:40px;line-height:1.15;}
.bp-products__head .bp-btn--chip{flex:0 0 auto;align-self:center;}
.bp-products__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch;}
.bp-card{background:#fff;padding:14px;border-radius:18px;border:1px solid rgba(187,201,199,.24);display:flex;flex-direction:column;height:100%;min-width:0;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background-color .25s ease;position:relative;box-shadow:0 6px 18px rgba(17,21,23,.04);}
.bp-card::before{content:"";position:absolute;top:0;left:24px;right:24px;height:3px;border-radius:0 0 999px 999px;background:linear-gradient(90deg,var(--bp-primary),#35E0D4);opacity:0;transform:scaleX(.55);transform-origin:center;transition:opacity .25s ease,transform .25s ease;}
.bp-card:hover{transform:translateY(-6px);background:var(--bp-background);border-color:var(--bp-primary);box-shadow:0 20px 40px rgba(17,21,23,.09),0 10px 26px rgba(18,176,168,.18);}
.bp-card:hover::before{opacity:1;transform:scaleX(1);}
.bp-card__media{display:block;aspect-ratio:1/1;margin-bottom:14px;border-radius:14px;overflow:hidden;background:rgba(230,232,235,.3);}
.bp-card__media img,.bp-card__img{width:100%;height:100%;object-fit:cover;display:block;}
.bp-card__title{font-size:16px;font-weight:700;line-height:1.35;margin:0 0 12px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bp-card__title a{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--bp-primary);text-decoration:none;transition:color .2s ease;}
.bp-card__title a:hover{color:var(--bp-primary-dark);}
.bp-card__foot{margin-top:auto;}
.bp-card__meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;min-width:0;}
.bp-card__size{min-width:0;font-size:12px;font-weight:700;color:var(--bp-meta);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bp-card__price{flex:0 0 auto;font-size:17px;font-weight:800;color:var(--bp-text);line-height:1.25;white-space:nowrap;}
.bp-card__price del{color:var(--bp-meta);font-weight:400;font-size:13px;margin-right:6px;}
.bp-card__button{white-space:nowrap;}
.bp-card .added_to_cart.wc-forward,
.bp-products .added_to_cart.wc-forward{display:none!important;}
.bp-card .add_to_cart_button.added{background:#F4FFFE;color:var(--bp-primary-dark);box-shadow:0 0 0 1px rgba(53,224,212,.45),0 14px 34px rgba(18,176,168,.28),0 0 28px rgba(53,224,212,.22);}
.bp-products__more{display:flex;justify-content:center;margin-top:34px;}
.bp-products__more .bp-btn--chip{background:transparent;color:var(--bp-primary-dark);border:1.5px solid var(--bp-primary);border-radius:9999px;padding:14px 56px;font-size:14px;box-shadow:none;}
.bp-products__more .bp-btn--chip:hover{background:var(--bp-primary);color:#fff;border-color:var(--bp-primary);}
.bp-empty{grid-column:1/-1;text-align:center;color:var(--bp-meta);padding:40px;}

/* 7. Contact ------------------------------------------------------------- */
.bp-contact{padding-top:50px;padding-bottom:80px;position:relative;overflow:hidden;background:#fff;}
.bp-contact::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(255,255,255,.90) 0%,rgba(244,249,249,.82) 34%,rgba(244,249,249,.90) 68%,rgba(244,249,249,.96) 100%),radial-gradient(ellipse at 50% 0%,rgba(18,176,168,.14) 0%,transparent 64%);pointer-events:none;}
.bp-contact .bp-container{position:relative;z-index:2;}
.bp-contact > .bp-contact__bannerwrap{position:absolute;inset:0;z-index:0;width:100%;height:100%;margin:0;overflow:hidden;border-radius:0;border:0;box-shadow:none;}
.bp-contact__banner{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(1.05);}

/* Header */
.bp-contact__header{text-align:center;max-width:720px;margin:0 auto 52px;padding:18px 0 6px;}
.bp-contact__eyebrow{display:inline-flex;align-items:center;gap:7px;padding:6px 16px;border-radius:9999px;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);border:1px solid rgba(18,176,168,.22);color:var(--bp-primary-dark);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px;box-shadow:0 10px 26px rgba(10,31,26,.06);}
.bp-contact__eyebrow i{font-size:13px;line-height:1;}
.bp-contact__title{font-size:clamp(28px,4vw,40px);font-weight:800;line-height:1.15;letter-spacing:-.02em;color:var(--bp-text);margin:0 0 12px;}
.bp-contact__title .bp-contact__accent{color:var(--bp-primary);}
.bp-contact__subhead{color:#152524;font-size:16px;line-height:1.7;margin:0 auto;max-width:620px;}

/* Layout 2 cột */
.bp-contact__layout{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(24px,3.5vw,48px);align-items:stretch;}

/* CỘT TRÁI: ảnh + info */
.bp-contact__left{display:flex;flex-direction:column;border-radius:24px;overflow:hidden;position:relative;box-shadow:0 20px 48px rgba(17,21,23,.10);border:1px solid rgba(18,176,168,.18);}
.bp-contact__leftimg{position:relative;height:240px;flex-shrink:0;overflow:hidden;}
.bp-contact__leftimg img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .8s ease;}
.bp-contact__leftimg::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(14,143,136,.02) 0%,rgba(14,143,136,.28) 82%,rgba(14,143,136,.45) 100%);}
.bp-contact__left:hover .bp-contact__leftimg img{transform:scale(1.06);}

.bp-contact__infopanel{background:linear-gradient(160deg,var(--bp-primary) 0%,var(--bp-primary-dark) 100%);padding:clamp(24px,3vw,34px);flex:1;position:relative;overflow:hidden;}
.bp-contact__infopanel::before{content:"";position:absolute;top:-60px;right:-60px;width:220px;height:220px;background:radial-gradient(circle,rgba(255,255,255,.18) 0%,transparent 65%);pointer-events:none;}
.bp-contact__infotitle{font-size:19px;font-weight:800;color:#fff;letter-spacing:-.02em;margin:0 0 4px;position:relative;z-index:1;}
.bp-contact__infotagline{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.9);margin:0 0 22px;position:relative;z-index:1;}
.bp-contact__infolist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;position:relative;z-index:1;}
.bp-contact__infoitem{display:flex;align-items:flex-start;gap:12px;color:rgba(255,255,255,.82);font-size:14px;line-height:1.55;}
.bp-contact__infoicon{width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.24);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;margin-top:1px;transition:background .25s,transform .25s;}
.bp-contact__infoicon i{font-size:14px;line-height:1;}
.bp-contact__infoitem:hover .bp-contact__infoicon{background:var(--bp-primary);color:#fff;transform:rotate(-5deg) scale(1.1);}
.bp-contact__infotext strong{display:block;color:#fff;font-weight:700;font-size:14px;margin-bottom:1px;}

/* CỘT PHẢI: form phong bì */
.bp-contact__right{display:flex;flex-direction:column;}
.bp-envelope{position:relative;border-radius:24px;flex:1;display:flex;flex-direction:column;}
.bp-envelope::before{content:"";position:absolute;inset:-2px;border-radius:24px;background:linear-gradient(135deg,var(--bp-primary-dark) 0%,var(--bp-primary) 35%,#35E0D4 55%,var(--bp-primary) 75%,var(--bp-primary-dark) 100%);background-size:300% 300%;animation:bp-envGlow 5s ease-in-out infinite;z-index:-1;}
@keyframes bp-envGlow{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}
.bp-envelope__body{position:relative;background:#fff;border-radius:24px;overflow:hidden;flex:1;padding:clamp(32px,3.5vw,48px) clamp(24px,3vw,40px);}
.bp-envelope__body::after{content:"";position:absolute;top:-80px;right:-80px;width:320px;height:320px;background:radial-gradient(circle,rgba(18,176,168,.08) 0%,transparent 65%);pointer-events:none;}

.bp-form__eyebrow{display:inline-flex;align-items:center;gap:7px;padding:5px 14px;border-radius:9999px;background:var(--bp-background);border:1px solid rgba(18,176,168,.22);color:var(--bp-primary-dark);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;position:relative;z-index:2;}
.bp-form__eyebrow i{font-size:12px;line-height:1;}
.bp-form__title{font-size:clamp(20px,2.2vw,26px);font-weight:800;color:var(--bp-text);letter-spacing:-.02em;line-height:1.18;margin:0 0 6px;position:relative;z-index:2;}
.bp-form__sub{font-size:14px;color:var(--bp-meta);line-height:1.7;margin:0 0 22px;position:relative;z-index:2;}

.bp-contact__form{display:flex;flex-direction:column;gap:14px;position:relative;z-index:2;}
.bp-contact__form .bp-form__row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.bp-contact__form label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bp-primary-dark);}
.bp-contact__form label:has(select){position:relative;}
.bp-contact__form label:has(select)::after{content:"\f078";position:absolute;right:14px;bottom:13px;font-family:"Font Awesome 6 Free";font-size:12px;font-weight:900;line-height:1;color:var(--bp-primary);pointer-events:none;}
.bp-contact__form input,.bp-contact__form select,.bp-contact__form textarea{width:100%;padding:11px 14px;background:var(--bp-background);border:1.5px solid rgba(18,176,168,.22);border-radius:12px;font-family:inherit;font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--bp-text);outline:none;transition:border-color .2s,background .2s,box-shadow .2s;box-sizing:border-box;}
.bp-contact__form input::placeholder,.bp-contact__form textarea::placeholder{color:rgba(60,73,72,.4);}
.bp-contact__form input:focus,.bp-contact__form select:focus,.bp-contact__form textarea:focus{border-color:var(--bp-primary);background:#fff;box-shadow:0 0 0 3px rgba(18,176,168,.14);}
.bp-contact__form select{cursor:pointer;appearance:none;padding-right:38px;background-image:none;}
.bp-contact__form textarea{resize:vertical;min-height:84px;line-height:1.6;}

.bp-contact__submit{display:flex;align-items:center;justify-content:center;gap:9px;padding:15px;border:none;border-radius:30px;font-weight:800;font-size:15px;font-family:inherit;cursor:pointer;color:#fff;background:linear-gradient(105deg,var(--bp-primary-dark) 0%,var(--bp-primary) 45%,#35E0D4 70%,var(--bp-primary) 100%);background-size:220% auto;box-shadow:0 8px 24px rgba(18,176,168,.28);transition:transform .22s,box-shadow .22s;animation:bp-btnShift 3.5s ease-in-out infinite;margin-top:4px;}
.bp-contact__submit i{font-size:15px;line-height:1;}
.bp-contact__submit:hover{background:#F4FFFE;color:var(--bp-primary-dark);transform:translateY(-3px) scale(1.01);box-shadow:0 0 0 1px rgba(53,224,212,.45),0 14px 36px rgba(18,176,168,.38),0 0 28px rgba(53,224,212,.22);}
@keyframes bp-btnShift{0%{background-position:0% center;}50%{background-position:100% center;}100%{background-position:0% center;}}

@media (max-width:1024px){
  .bp-contact__layout{grid-template-columns:1fr;}
}

/* Footer ----------------------------------------------------------------- */
.bp-footer{background:linear-gradient(180deg,#fff 0%,var(--bp-background) 100%);border-top:1px solid rgba(187,201,199,.38);padding:72px 0 34px;}
.bp-footer__grid{display:grid;grid-template-columns:minmax(280px,1.8fr) minmax(140px,.8fr) minmax(160px,.9fr);gap:56px;align-items:start;}
.bp-footer__brand{max-width:390px;}
.bp-footer__logo-link{display:inline-flex;align-items:center;text-decoration:none;}
.bp-footer__logo-img{margin-top:-20px;display:block;width:auto;max-width:180px;max-height:46px;object-fit:contain;}
.bp-footer__brand p{font-size:14px;color:var(--bp-body);line-height:1.75;margin:20px 0 0;}
.bp-footer__col h4{font-size:13px;font-weight:800;color:var(--bp-text);letter-spacing:.1em;text-transform:uppercase;margin:0 0 18px;}
.bp-footer__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.bp-footer__col a,.bp-footer__col span{font-size:14px;color:var(--bp-body);text-decoration:none;line-height:1.55;transition:color .2s;}
.bp-footer__col a:hover{color:var(--bp-primary);}
.bp-footer__bottom{margin-top:58px;padding-top:26px;border-top:1px solid rgba(187,201,199,.36);text-align:center;}
.bp-footer__bottom p{font-size:10px;color:rgba(60,73,72,.68);font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin:0;line-height:1.7;}

/* ==========================================================================
   RESPONSIVE — TABLET
   ========================================================================== */
@media (max-width:1024px){
  .bp-nav{gap:12px;padding-left:24px;padding-right:24px;}
  .bp-nav__links{gap:24px;}
  .bp-header-search{width:190px;min-width:160px;}
  .bp-about{grid-template-columns:1fr;gap:40px;padding:72px var(--bp-pad);}
  .bp-about__text{max-width:100%;}
  .bp-about .bp-about__title{font-size:clamp(38px,7vw,56px);white-space:normal;}
  .bp-about .bp-about__title span{display:inline;white-space:normal;}
  .bp-about__card{grid-column:1;grid-row:auto;justify-self:stretch;width:100%;max-width:640px;}
  .bp-products__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .bp-footer__grid{grid-template-columns:1.4fr 1fr 1fr;gap:40px;}
  .bp-footer__brand{grid-column:1/-1;max-width:720px;}
}

/* ==========================================================================
   MOBILE OPTIMIZATION (≤900px) — v2
   Header: marquee cuộn theo trang · nav pill sticky · hamburger dropdown
   ========================================================================== */
@media (max-width:900px){

  /* --- Header --------------------------------------------------------- */
  .bp-marquee{position:static;padding:8px 0;}
  .bp-marquee__track{animation-duration:24s;}
  .bp-marquee__track span{font-size:11px;padding:0 16px;}

  .bp-header{position:sticky;top:0;padding:10px var(--bp-pad);}
  .bp-body{padding-top:0;}

  .bp-nav{position:relative;padding:8px 10px 8px 18px;border-radius:30px;flex-wrap:wrap;gap:10px;
    transition:border-radius .25s ease,padding-bottom .25s ease;}
  .bp-nav__brand{order:1;margin-right:auto;}
  .bp-nav__brand img{max-height:26px;}
  .bp-header-actions{order:4;display:grid;grid-template-columns:minmax(0,1fr) 42px auto;align-items:center;width:100%;gap:8px;}
  .bp-header-search{width:100%;min-width:0;max-width:none;height:42px;}
  .bp-header-search__field{font-size:16px;padding-left:14px;}
  .bp-header-account{width:42px;height:42px;flex-basis:42px;}
  .bp-cart-pill{order:initial;padding:10px 14px;font-size:11px;gap:7px;}
  .bp-cart-pill__text{display:none;}
  .bp-nav .bp-navtoggle{display:flex;order:3;}

  /* Dropdown menu */
  .bp-nav__links{order:5;flex-direction:column;align-items:stretch;gap:0;width:100%;
    max-height:0;overflow:hidden;opacity:0;
    transition:max-height .32s ease,opacity .25s ease;}
  .bp-nav.is-open{border-radius:24px;padding-bottom:6px;}
  .bp-nav.is-open .bp-nav__links{max-height:440px;opacity:1;}
  .bp-nav__links li{border-top:1px solid rgba(18,176,168,.14);}
  .bp-nav__links li:first-child{border-top:1px solid rgba(18,176,168,.22);margin-top:6px;}
  .bp-nav__links li a{display:block;padding:14px 10px;font-size:14px;letter-spacing:.08em;}
  .bp-nav__links li.current-menu-item a,
  .bp-nav__links li.current_page_item a{text-shadow:none;}

  /* --- Hero ----------------------------------------------------------- */
  .bp-hero{flex-direction:column;gap:32px;padding-top:36px;padding-bottom:44px;}
  .bp-hero__text{transform:none;}
  .bp-hero__media{transform:none;}
  .bp-hero__title{font-size:clamp(38px,10vw,52px);margin:14px 0;}
  .bp-hero__lead{font-size:16px;max-width:100%;}
  .bp-hero__actions{gap:16px;padding-top:20px;}
  .bp-hero__actions .bp-btn--lg{padding:15px 32px;}
  .bp-mosaic{height:auto;aspect-ratio:600/520;}
  .bp-mosaic__svg{width:100%;height:100%;}
  .bp-floatcard{left:12px;right:12px;bottom:-18px;max-width:none;padding:16px;gap:12px;border-radius:18px;}
  .bp-floatcard__icon{width:40px;height:40px;}
  .bp-floatcard__sub{font-size:13px;}
  .bp-hero__media{margin-bottom:26px;}

  /* --- Trust ---------------------------------------------------------- */
  .bp-trust{padding:24px 0;}
  .bp-trust__grid{grid-template-columns:1fr 1fr;gap:16px;}
  .bp-trust__item{font-size:13px;gap:9px;letter-spacing:.03em;}

  /* --- About ---------------------------------------------------------- */
  .bp-about{grid-template-columns:1fr;gap:28px;min-height:0;width:100%;max-width:none;margin:0;
    padding:52px var(--bp-pad);border-radius:0;}
  .bp-about::before{background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(244,249,249,.9) 60%,rgba(255,255,255,.9) 100%);}
  .bp-about__text{grid-column:1;grid-row:auto;max-width:100%;}
  .bp-about .bp-about__title{font-size:clamp(30px,7.5vw,42px);max-width:100%;white-space:normal;margin-bottom:16px;}
  .bp-about .bp-about__title span{display:inline;white-space:normal;}
  .bp-about__text p{font-size:15.5px;line-height:1.68;max-width:100%;margin:14px 0;}
  .bp-about__card{grid-column:1;grid-row:auto;justify-self:stretch;width:100%;max-width:none;transform:none;}
  .bp-about > .bp-about__bannerwrap{position:absolute;inset:0;height:100%;margin:0;}
  .bp-dna{display:none;}

  /* --- Products ------------------------------------------------------- */
  .bp-products{padding-top:44px;padding-bottom:44px;}
  .bp-products__head{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:24px;padding-bottom:14px;}
  .bp-products__head .bp-h2{font-size:28px;}
  .bp-products__head .bp-btn--chip{align-self:flex-start;}
  .bp-products__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .bp-card{padding:10px;border-radius:14px;}
  .bp-card__media{aspect-ratio:1/1;margin-bottom:10px;border-radius:10px;}
  .bp-card__title{font-size:14px;margin-bottom:8px;}
  .bp-card__meta{gap:6px;margin-bottom:10px;}
  .bp-card__size{font-size:11px;}
  .bp-card__price{font-size:15px;}
  .bp-card .bp-btn--primary{padding:11px 14px;font-size:13px;border-radius:10px;}

  /* --- Contact -------------------------------------------------------- */
  .bp-contact{padding-top:36px;padding-bottom:52px;}
  .bp-contact__header{margin-bottom:28px;padding-top:8px;}
  .bp-contact__title{font-size:clamp(24px,6.5vw,32px);}
  .bp-contact__subhead{font-size:14.5px;}
  .bp-contact__layout{grid-template-columns:1fr;gap:20px;}
  .bp-contact__leftimg{height:180px;}
  .bp-contact__infopanel{padding:22px;}
  .bp-contact__infolist{gap:12px;}
  .bp-contact__form .bp-form__row2{grid-template-columns:1fr;}
  .bp-envelope__body{padding:26px 18px;border-radius:20px;}
  .bp-envelope,.bp-envelope::before{border-radius:20px;}
  /* 16px = chặn iOS auto-zoom khi focus input */
  .bp-contact__form input,.bp-contact__form select,.bp-contact__form textarea{font-size:16px;padding:12px 14px;}
  .bp-contact__submit{padding:16px;}

  /* --- Footer --------------------------------------------------------- */
  .bp-footer{padding:44px 0 26px;}
  .bp-footer__grid{grid-template-columns:1fr 1fr;gap:28px;}
  .bp-footer__brand{grid-column:1/-1;max-width:none;}
  .bp-footer__logo-img{max-width:150px;margin-top:0;}
  .bp-footer__brand p{font-size:13.5px;margin-top:14px;}
  .bp-footer__col h4{margin-bottom:12px;}
  .bp-footer__bottom{margin-top:32px;padding-top:18px;text-align:left;}

  /* --- Touch: bỏ hover-lift gây dính trạng thái ----------------------- */
  .bp-btn:hover,.bp-card:hover{transform:none;}
  .bp-card:hover{background:#fff;border-color:rgba(187,201,199,.24);box-shadow:0 6px 18px rgba(17,21,23,.04);}
  .bp-card:hover::before{opacity:0;}
  .bp-card:active{transform:scale(.985);}
}

@media (max-width:600px){
  .bp-protocol{padding:18px;}
  .bp-about__card .bp-protocol{padding:18px;}
  .bp-about__text .bp-btn{width:100%;min-width:0;padding:15px 24px;}
  .bp-protocol__head{grid-template-columns:1fr;gap:10px;margin-bottom:16px;}
  .bp-protocol__mini,.bp-protocol__mini:first-child,.bp-protocol__mini:last-child{border-radius:12px;border-left:1px solid rgba(18,176,168,.12);min-height:64px;padding:14px;}
  .bp-protocol__mini strong{font-size:13px;}
  .bp-protocol__row{min-height:58px;padding:14px 16px;}
  .bp-protocol__row strong{font-size:16px;}
  .bp-protocol__check{width:30px;height:30px;}
}

@media (max-width:380px){
  .bp-products__grid{gap:10px;}
  .bp-card__title{font-size:13px;}
  .bp-nav{padding-left:14px;}
  .bp-trust__item{font-size:12px;}
}

/* Reduced motion ---------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  .bp-marquee__track{animation:none;}
  .bp-h2,.bp-hero__title,.bp-contact__title,.bp-form__title{animation:none;background-position:0 0;}
  .bp-card,.bp-card::before{transition:none;}
  .bp-envelope::before,.bp-contact__submit{animation:none;}
  .bp-nav__links{transition:none;}
}
