/*
Theme Name: Actpharma Laboratory
Theme URI: https://actpharma-sa.com
Author: ACT Pharma
Description: Thème WordPress professionnel one-page pour laboratoire / société pharmaceutique. Bleu et blanc, compatible WooCommerce, Gravity Forms, et menus WordPress natifs. Bascule de langue EN/FR avec drapeaux.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: actpharma-laboratory
*/

/* =============================
   0. FONTS & VARIABLES
============================= */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Jost:wght@200;300;400;500&display=swap');

:root{
  --navy: #0F2A4A;
  --blue: #1F6FB2;
  --blue-light: #EAF3FB;
  --blue-pale: #F5F9FC;
  --white: #FFFFFF;
  --ink: #16212E;
  --ink-soft: #4B5B6B;
  --border: #DCE6EF;
  --radius: 4px;
  --max-w: 1140px;
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }

body{
  margin:0;
  font-family:'Inter', sans-serif;
  color: var(--ink);
  background: var(--white);
  line-height: 1.6;
  font-size: 16px;
}

h1,h2,h3,h4{
  font-family:'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue', Arial, sans-serif;
  color: var(--navy);
  line-height: 1.25;
  margin: 0 0 .6em;
}

h2.section-title{
  font-size: 2rem;
  position: relative;
  padding-bottom: .5rem;
  margin-bottom: 2rem;
}
h2.section-title:after{
  content:"";
  position:absolute;
  left:0; bottom:0;
  width: 56px; height: 3px;
  background: var(--blue);
}

p{ color: var(--ink-soft); max-width: 70ch; }
a{ color: var(--blue); text-decoration:none; }
img{ max-width:100%; display:block; }

.container{
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 24px;
}

.section{ padding: 90px 0; }
.section.alt{ background: var(--blue-pale); }

.btn{
  display:inline-block;
  padding: 12px 28px;
  background: var(--blue);
  color: var(--white);
  border-radius: var(--radius);
  font-weight:600;
  border: 1px solid var(--blue);
  cursor:pointer;
  transition: background .2s ease, color .2s ease, transform .15s ease, box-shadow .2s ease;
}
.btn:hover{ background: var(--navy); border-color: var(--navy); color:var(--white); transform: translateY(-2px); box-shadow: 0 10px 20px rgba(15,42,74,.18); }
.btn.outline{ background: transparent; color: var(--blue); }
.btn.outline:hover{ background: var(--blue); color: var(--white); }

/* =============================
   1. HEADER / NAVBAR
============================= */
.site-header{
  position: sticky;
  top:0;
  z-index: 999;
  width:100%;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 4px 18px rgba(15,42,74,.06);
  backdrop-filter: blur(10px);
}
.navbar{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  gap: 28px;
  width:100%;
  padding: 11px 0;
}
.brand{
  justify-self:start;
  display:flex;
  align-items:center;
  gap:9px;
  font-family:'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-weight:700;
  font-size:1.22rem;
  color: var(--navy);
  white-space:nowrap;
}
.brand img{ height:48px; width:auto; object-fit:contain; }
.brand{ margin-left:-6px; }

.main-nav{
  justify-self:center;
}
.main-nav ul{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 24px;
  margin:0; padding:0;
}
.main-nav > ul > li{ position:relative; }
.main-nav a{
  color: var(--ink);
  font-weight:500;
  font-size: .96rem;
  padding: 8px 2px;
  position: relative;
}
.main-nav > ul > li > a{
  display: inline-block;
}
.main-nav > ul > li > a:after{
  content:"";
  position:absolute;
  left:0; bottom:2px;
  width:0%; height:2px;
  background: var(--blue);
  transition: width .25s ease;
}
.main-nav > ul > li > a:hover:after,
.main-nav > ul > li.current-menu-item > a:after,
.main-nav > ul > li.current_page_item > a:after{ width:100%; }
.main-nav > ul > li > a:hover,
.main-nav > ul > li.current-menu-item > a,
.main-nav > ul > li.current_page_item > a{ color: var(--blue); }

/* Sous-menus : classes générées automatiquement par wp_nav_menu() */
.main-nav .sub-menu{
  display:block;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  position:absolute;
  top: 100%; left:0;
  transform: translateY(6px);
  background: var(--white);
  border:1px solid var(--border);
  border-radius: var(--radius);
  min-width: 220px;
  box-shadow: 0 14px 30px rgba(15,42,74,.14);
  padding: 8px 0;
  z-index: 20;
  transition: opacity .2s ease, transform .2s ease;
}
.main-nav li.menu-item-has-children:hover > .sub-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform: translateY(0);
}
.main-nav .sub-menu li a{ display:block; padding: 8px 16px; transition: background .15s ease, padding-left .15s ease; }
.main-nav .sub-menu li a:hover{ background: var(--blue-light); padding-left: 20px; }
.main-nav .sub-menu li a:after{ display:none; }
.main-nav .sub-menu .sub-menu{ top:0; left:100%; }

.nav-right{ justify-self:end; display:flex; align-items:center; gap:10px; }

 .lang-toggle{
  display:flex;
  align-items:center;
  gap:4px;
  padding:4px;
  border:1px solid var(--border);
  background:#fff;
  border-radius:999px;
  box-shadow:0 3px 10px rgba(15,42,74,.07);
}
.lang-toggle button{
  border: 2px solid transparent;
  background: transparent;
  padding: 3px;
  line-height: 0;
  border-radius: 999px;
  cursor:pointer;
  opacity: .55;
  transition: opacity .15s ease, border-color .15s ease, transform .15s ease, background .15s ease;
}
.lang-toggle button svg{ display:block; border-radius:2px; }
.lang-toggle button:hover{ opacity: .9; transform: translateY(-1px); }
.lang-toggle button.active{ opacity: 1; border-color: var(--blue); background:var(--blue-light); }

.nav-toggle{ display:none; justify-self:end; background:none; border:none; cursor:pointer; }
.nav-toggle span{ display:block; width:24px; height:2px; background:var(--navy); margin:5px 0; }

/* =============================
   2. HERO / HOME
============================= */
.hero{
  position:relative;
  min-height: 560px;
  display:flex;
  align-items:center;
  color: var(--white);
  background: linear-gradient(180deg, rgba(15,42,74,.82), rgba(15,42,74,.72)), url('images/laboratoire.jpg') center/cover no-repeat;
}
.hero .container{ max-width: 760px; }
.hero h1{ color: var(--white); font-size: 2.6rem; margin-bottom:.4em; }
.hero p{ color: #DCE9F6; font-size:1.1rem; max-width:56ch; }
.hero .btn{ margin-top: 1.2rem; }

/* =============================
   3. GENERIC TWO-COL BLOCK
============================= */
.split{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items:center;
}
.split .media{
  width:100%;
  height:320px;
  padding:8px;
  background:#f0f2f4;
  border:2px solid #cfd5da;
  border-radius:12px;
  box-shadow:0 10px 26px rgba(15,42,74,.07);
  overflow:hidden;
}
.split .media img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:7px;
  box-shadow:none;
}
.split.reverse .media{ order:2; }

.badge-list{ list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.badge-list li{
  padding-left: 30px;
  position: relative;
  color: var(--ink);
}
.badge-list li:before{
  content:"";
  position:absolute; left:0; top:6px;
  width:14px; height:14px;
  border:2px solid var(--blue);
  border-radius:50%;
}

/* =============================
   4. CARDS GRID (Therapeutic / Products / Activities)
============================= */
.grid-3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.card{
  background: var(--white);
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding: 28px;
  box-shadow: 0 2px 10px rgba(15,42,74,.05);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.card:hover{
  transform: translateY(-6px);
  box-shadow: 0 18px 34px rgba(15,42,74,.12);
  border-color: transparent;
}
.card h3{ font-size:1.15rem; margin-bottom:.4em; }
.card p{ font-size:.95rem; margin-bottom:0; }
.card .tag{
  display:inline-block;
  font-size:.75rem;
  font-weight:600;
  color: var(--blue);
  background: var(--blue-light);
  padding: 3px 10px;
  border-radius: 20px;
  margin-bottom: 12px;
}

/* =============================
   5. PHARMACOVIGILANCE
============================= */
.pv-box{
  background: var(--navy);
  color: var(--white);
  border-radius: var(--radius);
  padding: 48px;
  display:grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 40px;
  align-items:center;
}
.pv-box h2{ color: var(--white); }
.pv-box p{ color:#C9D8E8; }
.pv-box .contact-line{ margin-top:1.2rem; font-weight:600; color:var(--white); }
.pv-box{ box-shadow: 0 20px 40px rgba(15,42,74,.18); }

/* =============================
   6. CONTACT (design "Let's talk")
============================= */
.contact-grid{
  display:grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 64px;
  align-items:start;
}
.contact-copy .eyebrow{
  display:inline-block;
  font-size:.85rem;
  font-weight:600;
  color: var(--blue);
  margin-bottom: 10px;
}
.contact-copy h2{ font-size:2.1rem; margin-bottom:.5rem; }
.contact-copy > p{ margin-bottom: 2rem; }

.info-item{ display:flex; gap:14px; margin-bottom:22px; }
.info-item .icon{
  width:40px; height:40px; flex:0 0 40px;
  border-radius:50%;
  background: var(--blue-light);
  color: var(--blue);
  display:flex; align-items:center; justify-content:center;
}
.info-item strong{ font-size:.95rem; color: var(--navy); }
.info-item a{ color: var(--ink-soft); }
.info-item a:hover{ color: var(--blue); }

.link-arrow{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top: 8px;
  font-weight:600;
  color: var(--blue);
  transition: gap .2s ease;
}
.link-arrow:hover{ gap: 12px; }

.contact-form-box{
  background: var(--white);
  border-radius: 8px;
  padding: 40px;
  box-shadow: 0 20px 44px rgba(15,42,74,.10);
}
.contact-map{
  margin-top: 48px;
  border-radius: 8px;
  overflow:hidden;
  box-shadow: 0 20px 44px rgba(15,42,74,.10);
  line-height:0;
}

/* --- Restylage des formulaires Gravity Forms (fonctionne avec toutes les versions) --- */
.gform_wrapper{ font-family:'Inter', sans-serif; max-width:none !important; }
.gform_wrapper ul.gform_fields{ list-style:none; margin:0 !important; padding:0 !important; display:grid; gap:20px; }
.gform_wrapper li.gfield{ margin:0 !important; padding:0 !important; clear:both; }
.gform_wrapper .gfield_label{
  display:block;
  font-size:.85rem;
  font-weight:600;
  color: var(--navy);
  margin: 0 0 6px !important;
}
.gform_wrapper .gfield_required{ color:#B3261E; margin-left:3px; }

.gform_wrapper input[type=text],
.gform_wrapper input[type=email],
.gform_wrapper input[type=tel],
.gform_wrapper input[type=url],
.gform_wrapper input[type=number],
.gform_wrapper input[type=password],
.gform_wrapper select,
.gform_wrapper textarea{
  width:100% !important;
  padding: 12px 14px !important;
  border:1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  font-family:'Inter', sans-serif !important;
  font-size:.95rem !important;
  background: var(--white);
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.gform_wrapper input:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus{
  border-color: var(--blue) !important;
  box-shadow: 0 0 0 3px var(--blue-light);
  outline:none;
}
.gform_wrapper textarea{ min-height:130px; }

/* Boutons radio / checkbox en "pilules" cliquables (au lieu des ronds/carrés par défaut) */
.gform_wrapper .gfield_radio,
.gform_wrapper .gfield_checkbox{
  list-style:none !important;
  padding:0 !important;
  margin:4px 0 0 !important;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.gform_wrapper .gfield_radio li,
.gform_wrapper .gfield_checkbox li{
  position:relative;
  margin:0 !important;
}
.gform_wrapper .gfield_radio input,
.gform_wrapper .gfield_checkbox input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
  margin:0 !important;
  width:100%;
  height:100%;
}
.gform_wrapper .gfield_radio label,
.gform_wrapper .gfield_checkbox label{
  display:inline-block;
  padding: 9px 22px;
  border:1.5px solid var(--border);
  border-radius: 8px;
  font-weight:500;
  font-size:.9rem;
  cursor:pointer;
  user-select:none;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.gform_wrapper .gfield_radio input:checked ~ label,
.gform_wrapper .gfield_checkbox input:checked ~ label{
  background: var(--blue);
  border-color: var(--blue);
  color: var(--white);
}

/* Boutons (Envoyer / Suivant / Précédent) — les vieilles versions de GF utilisent <input type=submit>, pas <button> */
.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer{
  margin-top:22px !important;
  padding:0 !important;
  border:none !important;
  display:flex;
  gap:12px;
}
.gform_wrapper input.button,
.gform_wrapper .gform_button,
.gform_wrapper .gform_next_button,
.gform_wrapper .gform_previous_button{
  display:inline-block;
  padding: 12px 28px !important;
  background: var(--blue) !important;
  color: var(--white) !important;
  border-radius: var(--radius) !important;
  font-weight:600;
  border: 1px solid var(--blue) !important;
  cursor:pointer;
  font-size:.95rem;
  transition: background .2s ease, transform .15s ease;
}
.gform_wrapper .gform_previous_button{
  background: var(--white) !important;
  color: var(--navy) !important;
  border-color: var(--border) !important;
}
.gform_wrapper input.button:hover,
.gform_wrapper .gform_button:hover,
.gform_wrapper .gform_next_button:hover{ background: var(--navy) !important; transform: translateY(-2px); }

/* Barre de progression (formulaires à plusieurs étapes, ex: Déclaration d'effet indésirable) */
.gform_wrapper .gf_progressbar_wrapper{ margin-bottom: 28px !important; }
.gform_wrapper .gf_progressbar_title{ font-size:.85rem; color: var(--ink-soft); margin-bottom:8px; }
.gform_wrapper .gf_progressbar{
  background: var(--border) !important;
  border-radius: 20px !important;
  height: 8px !important;
  overflow:hidden;
}
.gform_wrapper .gf_progressbar_percentage{
  background: var(--blue) !important;
  height:100% !important;
  border-radius:20px;
  text-indent:-9999px;
}
.gform_wrapper .gf_step{ display:none; } /* cache les numéros d'étape par défaut, la barre suffit */

/* Erreurs / confirmation */
.gform_wrapper .validation_error,
.gform_wrapper .gfield_validation_message,
.gform_wrapper .gfield_description.validation_message{
  color:#B3261E !important;
  border-color:#B3261E !important;
  font-size:.85rem;
  border-radius: var(--radius);
}
.gform_confirmation_message, .gform_wrapper .gform_confirmation_message{ color: var(--blue); font-weight:600; }

/* =============================
   7. FOOTER
============================= */
.site-footer{
  background: #011330 !important;
  color: #C9D8E8;
  padding: 56px 0 24px;
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr;
  gap: 32px;
  margin-bottom: 36px;
}
.footer-grid h4{ color: var(--white); font-size:1rem; margin-bottom:14px; }
.site-footer a{ color:#C9D8E8; }
.site-footer a:hover{ color: var(--white); }
.footer-grid ul{ list-style:none; padding:0; margin:0; display:grid; gap:8px; font-size:.92rem; }
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);
  padding-top: 20px;
  font-size:.85rem;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
}
.social-icons{ display:flex; gap:10px; }
.social-icon{
  width:38px; height:38px;
  border-radius:50%;
  background: rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center;
  color: var(--white) !important;
  transition: background .2s ease, transform .15s ease;
}
.social-icon:hover{ background: var(--blue); transform: translateY(-3px); }

/* =============================
   8. LANGUAGE VISIBILITY
============================= */
html.lang-en .lang-fr{ display:none !important; }
html.lang-fr .lang-en{ display:none !important; }

/* =============================
   10. ANIMATIONS (apparition au scroll)
============================= */
.reveal{
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .7s ease, transform .7s ease;
}
.reveal.in-view{
  opacity: 1;
  transform: translateY(0);
}
/* décalage léger entre les cartes d'une même grille pour un effet en cascade */
.grid-3 .reveal:nth-child(2){ transition-delay: .08s; }
.grid-3 .reveal:nth-child(3){ transition-delay: .16s; }

@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
}

/* =============================
   12. WOOCOMMERCE (Shop, Produit, Panier)
============================= */

body.woocommerce .section,
body.woocommerce-page .section{
  width:100% !important;
  float:none !important;
  max-width:none !important;
}

/* Nouvelle grille "Our Products" (notre propre template woocommerce/archive-product.php) */

/* Force la pleine largeur : l'ancien thème limitait la largeur des pages WooCommerce
   (pour laisser la place à une sidebar qu'on a supprimée) — on l'annule ici explicitement. */
body.woocommerce .shop-wrap,
body.woocommerce-page .shop-wrap,
.shop-wrap{
  max-width: 1400px !important;
  width: 100% !important;
  float: none !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  box-sizing: border-box !important;
}

/* Espace entre le bandeau (fil d'ariane / titre / tri) et la grille de produits */
.shop-wrap > .woocommerce-breadcrumb{ margin-bottom: 20px !important; }
.shop-wrap > .section-title{ margin-bottom: 8px !important; }
.shop-wrap .woocommerce-result-count,
.shop-wrap .woocommerce-ordering{
  display:inline-block;
  margin-bottom: 24px !important;
  float:none !important;
}
.shop-wrap .woocommerce-result-count{ margin-right: 16px; }

.shop-grid{
  margin-top: 40px !important;
  clear: both;
  display:grid;
  align-items: stretch;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
}
.shop-card{
  display:flex !important;
  flex-direction: column;
  height: 100%;
  text-decoration:none;
  color:inherit;
  padding: 28px 28px 30px !important;
}
.shop-card-media{
  margin: -28px -28px 18px;
  overflow:hidden;
  border-radius: 4px 4px 0 0;
  aspect-ratio: 4/3;
}
.shop-card-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.shop-card h3{ font-size:1.2rem; margin-bottom:8px; }
.shop-card p{ font-size:.95rem; margin-bottom:10px; }
.shop-card-price{ color: var(--blue) !important; font-weight:600; }
.shop-card-btn{
  margin-top: auto !important;
  align-self: flex-start;
  font-size:.9rem;
  padding:10px 20px;
}

@media (max-width: 700px){
  .shop-grid{ grid-template-columns: 1fr !important; }
}

/* Grille de produits (Our Products) */
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  list-style:none !important;
  margin: 40px 0 !important;
  padding:0 !important;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products[class*="columns-"] li.product{
  float:none !important;
  clear:none !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  background: var(--white);
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding: 20px 20px 26px;
  box-shadow: 0 2px 10px rgba(15,42,74,.05);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  text-align:left !important;
}
.woocommerce ul.products li.product:hover{
  transform: translateY(-6px);
  box-shadow: 0 18px 34px rgba(15,42,74,.12);
  border-color: transparent;
}
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product img{
  display:block !important;
  float:none !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  max-height:none !important;
  min-height:0 !important;
  aspect-ratio: 4/3 !important;
  object-fit: cover !important;
  border-radius: var(--radius);
  margin: 0 0 14px !important;
}
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-size:1.05rem;
  color: var(--navy);
  margin: 0 0 6px;
}
.woocommerce ul.products li.product .price{
  color: var(--blue);
  font-weight:600;
  font-size:.95rem;
}
.actpharma-product-excerpt{
  color: var(--ink-soft);
  font-size:.88rem;
  margin: 6px 0 14px;
  max-width:none;
}
.woocommerce ul.products li.product a.button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
  display:inline-block;
  background: var(--blue) !important;
  color: var(--white) !important;
  border-radius: var(--radius) !important;
  padding: 10px 20px !important;
  font-weight:600;
  border:1px solid var(--blue) !important;
  font-size:.88rem;
  transition: background .2s ease, transform .15s ease;
}
.woocommerce ul.products li.product a.button:hover, .woocommerce a.button:hover{
  background: var(--navy) !important;
  border-color: var(--navy) !important;
  transform: translateY(-2px);
}

/* Tri + résultats */
.woocommerce-result-count{ color: var(--ink-soft); font-size:.9rem; }
.woocommerce-ordering select{
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding: 8px 12px;
  font-family:'Inter', sans-serif;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul{ border:none !important; display:flex; gap:8px; }
.woocommerce nav.woocommerce-pagination ul li{ border:none !important; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  border:1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  color: var(--navy);
  padding: 8px 14px;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current{
  background: var(--blue) !important;
  color: var(--white) !important;
  border-color: var(--blue) !important;
}

/* Fil d'ariane (breadcrumb) */
.woocommerce-breadcrumb{ color: var(--ink-soft); font-size:.85rem; margin-bottom: 24px; }
.woocommerce-breadcrumb a{ color: var(--blue); }

/* Page produit unique */
.woocommerce div.product .woocommerce-product-gallery img{ border-radius: var(--radius); }
.woocommerce div.product .summary .price{ color: var(--blue); font-size:1.4rem; }
.woocommerce div.product .product_title{ font-family:'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue', Arial, sans-serif; color: var(--navy); }
.woocommerce div.product .woocommerce-tabs{ margin-top: 40px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li{ border:none; background:transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ color: var(--ink); font-weight:600; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ color: var(--blue); }
.related.products h2{ font-family:'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue', Arial, sans-serif; color: var(--navy); margin: 60px 0 24px; }

/* يخفي أي Sidebar/Widget قديم (Pages/Archives/Catégories/Rechercher) بقي من الثيم القديم */
#secondary, .widget-area, .sidebar, .woocommerce-widget-area{
  display:none !important;
}

@media (max-width: 900px){
  .woocommerce ul.products{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px){
  .woocommerce ul.products{ grid-template-columns: 1fr; }
}

/* =============================
   13. RESPONSIVE
============================= */
@media (max-width: 900px){
  .split, .contact-grid, .pv-box{ grid-template-columns:1fr; }
  .split.reverse .media{ order:0; }
  .split .media{ height:260px; }
  .grid-3{ grid-template-columns: 1fr 1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
}

@media (max-width: 720px){
  .nav-toggle{ display:block; }
  .main-nav{
    position:absolute;
    top:100%; left:0; right:0;
    background:var(--white);
    border-bottom:1px solid var(--border);
    display:none;
  }
  .main-nav.open{ display:block; }
  .main-nav ul{ flex-direction:column; gap:0; }
  .main-nav > ul > li{ border-top:1px solid var(--border); }
  .main-nav > ul > li > a{ display:block; padding:14px 24px; }
  .main-nav .sub-menu{ position:static; box-shadow:none; border:none; padding-left:12px; opacity:1; visibility:hidden; max-height:0; overflow:hidden; transform:none; transition: max-height .2s ease; }
  .main-nav li.menu-item-has-children:hover > .sub-menu{ visibility:hidden; max-height:0; }
  .main-nav li.menu-item-has-children.open > .sub-menu{ visibility:visible; max-height:400px; pointer-events:auto; }
  .grid-3{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .hero h1{ font-size:2rem; }
}

/* =============================
   15. ACT PHARMA HOME REDESIGN
============================= */
.hero-welcome{ overflow:hidden; min-height:620px; }
.hero-welcome .container{ position:relative; z-index:2; max-width:1000px; }
 .welcome-content{ max-width:100%; width:100%; padding:55px 0; animation:welcomeIn .9s ease both; }
/* ACT Pharma hero statement — static bilingual title, no typing or motion */
.acting-life{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:100%;
  min-height:clamp(64px,8vw,96px);
  margin:0 0 24px;
  white-space:normal;
  overflow:visible;
}
.acting-life-typing{
  display:inline-block;
  width:auto;
  overflow:visible;
  color:#fff;
  font-size:clamp(2.65rem,5vw,4.4rem);
  line-height:1;
  font-weight:850;
  letter-spacing:-.055em;
  background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
  -webkit-text-fill-color:#fff;
  text-shadow:0 10px 38px rgba(0,0,0,.16);
  animation:none !important;
}
@media(max-width:650px){
  .acting-life{min-height:62px;margin-bottom:22px;overflow:visible}
  .acting-life-typing{font-size:clamp(2.2rem,9vw,3.6rem);letter-spacing:-.05em}
}

.hero-welcome h1{ font-size:clamp(3rem,7vw,5.6rem); letter-spacing:-.04em; margin-bottom:18px; text-shadow:0 8px 30px rgba(0,0,0,.18); }
.hero-welcome .welcome-lead{ color:#fff; font-size:clamp(1.05rem,1.55vw,1.22rem); line-height:1.7; width:100%; max-width:100%; margin:0 0 10px; animation:fadeUp .8s .25s ease both; }
.hero-welcome .welcome-sub{ color:#DCE9F6; font-size:clamp(.96rem,1.25vw,1.05rem); line-height:1.7; width:100%; max-width:100%; margin:0; animation:fadeUp .8s .4s ease both; }
.welcome-btn{ margin-top:30px; border-radius:999px; padding:13px 25px; animation:fadeUp .8s .55s ease both; }
.hero-orb{ position:absolute; border:1px solid rgba(255,255,255,.13); border-radius:50%; pointer-events:none; }
.hero-orb-one{ width:420px; height:420px; right:-100px; top:-100px; box-shadow:0 0 0 35px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.018); animation:orbFloat 8s ease-in-out infinite; }
.hero-orb-two{ width:190px; height:190px; right:23%; bottom:-80px; background:rgba(255,255,255,.035); animation:orbFloat 6s 1s ease-in-out infinite reverse; }

.section-eyebrow{ display:inline-block; color:var(--blue); text-transform:uppercase; letter-spacing:.12em; font-size:.76rem; font-weight:700; margin-bottom:9px; }

.therapeutic-section{ background: #0C0D0F !important; }
.therapeutic-heading{ max-width:700px; margin-bottom:38px; }
.therapeutic-heading .section-title{ margin-bottom:12px; }
.therapeutic-heading > p{ margin:0; }
.therapeutic-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.therapeutic-card{ position:relative; min-height:205px; padding:30px 22px 25px; background:#fff; border:1px solid var(--border); border-radius:18px; text-align:center; overflow:hidden; box-shadow:0 8px 24px rgba(15,42,74,.06); transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; transition-delay:var(--card-delay); }
.therapeutic-card:hover{ transform:translateY(-9px); box-shadow:0 20px 42px rgba(15,42,74,.13); border-color:rgba(31,111,178,.35); }
.therapeutic-card:before{ content:""; position:absolute; width:110px; height:110px; border-radius:50%; background:var(--blue-light); top:-55px; right:-35px; opacity:.65; }
.therapeutic-icon{ position:relative; z-index:1; width:66px; height:66px; margin:0 auto 18px; border-radius:18px; background:var(--blue-light); color:var(--blue); display:flex; align-items:center; justify-content:center; transition:transform .3s ease, background .3s ease; }
.therapeutic-card:hover .therapeutic-icon{ transform:scale(1.08) rotate(-2deg); background:#d9ebf9; }
.therapeutic-icon svg{ width:38px; height:38px; fill:none; stroke:currentColor; stroke-width:2.1; stroke-linecap:round; stroke-linejoin:round; }
.therapeutic-card h3{ position:relative; z-index:1; font-family:'Inter',sans-serif; color:var(--navy); font-size:1.02rem; margin:0; }
.therapeutic-number{ position:absolute; right:16px; bottom:12px; font-size:.7rem; font-weight:700; color:#9bbbd5; letter-spacing:.08em; }

.home-info-section{ background:#fff; }
.home-info-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.home-info-card{ position:relative; padding:34px 30px 32px; border:1px solid var(--border); border-radius:18px; background:linear-gradient(180deg,#fff,#f8fbfe); box-shadow:0 8px 26px rgba(15,42,74,.06); overflow:hidden; }
.home-info-card:after{ content:""; position:absolute; left:0; right:0; bottom:0; height:4px; background:var(--blue); transform:scaleX(0); transform-origin:left; transition:transform .35s ease; }
.home-info-card:hover:after{ transform:scaleX(1); }
.home-info-icon{ width:58px; height:58px; border-radius:16px; background:var(--blue-light); color:var(--blue); display:flex; align-items:center; justify-content:center; margin-bottom:22px; }
.home-info-icon svg{ width:31px; height:31px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.home-info-card h2{ font-size:1.55rem; margin-bottom:12px; }
.home-info-card p{ font-size:.95rem; margin-bottom:20px; }


@keyframes welcomeIn{ from{opacity:0; transform:translateY(25px)} to{opacity:1; transform:none} }
@keyframes fadeUp{ from{opacity:0; transform:translateY(15px)} to{opacity:1; transform:none} }
@keyframes lineGrow{ from{width:0;opacity:0} to{width:72px;opacity:1} }
@keyframes orbFloat{ 0%,100%{transform:translate3d(0,0,0)} 50%{transform:translate3d(-18px,16px,0)} }

/* About Us is a single navigation item: hide its child menu. */
.main-nav > ul > li.menu-item-has-children > a[href*="about"] + .sub-menu,
.main-nav > ul > li.menu-item-has-children > a[href*="a-propos"] + .sub-menu{ display:none !important; }

@media (max-width:900px){
  .therapeutic-grid{ grid-template-columns:repeat(2,1fr); }
  .home-info-grid{ grid-template-columns:1fr; }
}
@media (max-width:720px){
  .hero-welcome{ min-height:590px; }
  .welcome-content{ padding:40px 0; }
  .hero-welcome h1{ font-size:2.8rem; }
  .therapeutic-grid{ grid-template-columns:1fr 1fr; gap:14px; }
  .therapeutic-card{ min-height:185px; padding:24px 14px; }
}
@media (max-width:480px){
  .therapeutic-grid{ grid-template-columns:1fr; }
  .hero-welcome h1{ font-size:2.45rem; }
}


/* Product archive category filter */
.shop-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);gap:30px;align-items:end;margin-bottom:30px}
.shop-heading .section-title{margin:8px 0 0}
.shop-intro{margin:0;max-width:420px;line-height:1.7}
.product-category-filter{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px;padding:5px 0}
.product-filter-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--navy);font-weight:600;text-decoration:none;transition:all .25s ease}
.product-filter-btn:hover,.product-filter-btn.active{background:var(--blue);border-color:var(--blue);color:#fff;transform:translateY(-2px);box-shadow:0 8px 18px rgba(31,111,178,.18)}
.shop-result-count{margin:0 0 20px;color:#63788b;font-size:.92rem}
.shop-result-count strong{color:var(--navy)}
.shop-pagination{margin-top:38px;text-align:center}
.shop-pagination ul{display:flex;justify-content:center;gap:8px;list-style:none;margin:0;padding:0}
.shop-pagination li{margin:0}
.shop-pagination a,.shop-pagination span{display:inline-flex;min-width:40px;height:40px;align-items:center;justify-content:center;padding:0 12px;border:1px solid var(--border);border-radius:10px;text-decoration:none;color:var(--navy);background:#fff}
.shop-pagination .current,.shop-pagination a:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.shop-empty{text-align:center;padding:70px 20px;border:1px solid var(--border);border-radius:18px;background:#f8fbfe}
@media (max-width:900px){.shop-heading{grid-template-columns:1fr}.shop-intro{max-width:none}.product-category-filter{gap:8px}.product-filter-btn{padding:9px 14px;font-size:.9rem}}

/* =========================================================
   ACT PHARMA — ACTIVITIES + PRODUCT CATEGORY FILTER
   Modern blue pharmaceutical UI
========================================================= */
.activities-home-section,
.activities-page-section{background:linear-gradient(180deg,#f8fbfe 0%,#ffffff 100%);position:relative;overflow:hidden}
.activities-home-section:before,.activities-page-section:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-260px;top:-230px;background:rgba(31,111,178,.045);pointer-events:none}
.activities-heading{position:relative;z-index:1;max-width:760px;margin:0 0 42px;text-align:left}
.activities-heading .section-title{margin:5px 0 12px}
.activities-heading>p{margin:0;max-width:700px;color:var(--ink-soft);line-height:1.75}
.activities-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.activity-card{position:relative;overflow:hidden;background:rgba(255,255,255,.94);border:1px solid #dce8f1;border-radius:22px;padding:34px 30px 30px;box-shadow:0 12px 35px rgba(15,42,74,.07);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease,border-color .3s ease;animation:activityCardIn .7s var(--activity-delay,0s) both}
.activity-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,var(--blue),#62a9d7,var(--blue));transform:scaleX(.15);transform-origin:left;transition:transform .4s ease}
.activity-card:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-85px;bottom:-95px;background:var(--blue-light);opacity:.65;transition:transform .45s ease}
.activity-card:hover{transform:translateY(-10px);box-shadow:0 24px 50px rgba(15,42,74,.14);border-color:rgba(31,111,178,.3)}
.activity-card:hover:before{transform:scaleX(1)}
.activity-card:hover:after{transform:scale(1.25)}
.activity-icon{position:relative;z-index:2;width:68px;height:68px;border-radius:19px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eaf5fc,#d9ebf8);color:var(--blue);margin-bottom:25px;box-shadow:inset 0 0 0 1px rgba(31,111,178,.08);transition:transform .4s ease,box-shadow .4s ease}
.activity-icon svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.activity-card:hover .activity-icon{transform:translateY(-3px) rotate(-3deg) scale(1.06);box-shadow:0 10px 22px rgba(31,111,178,.16)}
.activity-number{position:absolute;z-index:1;right:24px;top:25px;color:#c2d8e8;font-size:2rem;line-height:1;font-weight:800;letter-spacing:-.04em}
.activity-card h2,.activity-card h3{position:relative;z-index:2;color:var(--navy);font-family:'Inter',sans-serif;font-weight:750;letter-spacing:-.02em;line-height:1.3;margin:0 0 14px;font-size:1.12rem}
.activity-card p{position:relative;z-index:2;color:var(--ink-soft);font-size:.93rem;line-height:1.75;margin:0}
.activities-home-action{text-align:center;margin-top:34px;position:relative;z-index:1}
.activities-more-btn{display:inline-flex;align-items:center;gap:13px;padding:13px 23px;border-radius:999px;background:var(--blue);border:1px solid var(--blue);color:#fff;text-decoration:none;font-weight:700;box-shadow:0 10px 24px rgba(31,111,178,.2);transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.activities-more-btn span:last-child{font-size:1.15rem;transition:transform .25s ease}
.activities-more-btn:hover{background:var(--navy);border-color:var(--navy);color:#fff;transform:translateY(-3px);box-shadow:0 16px 30px rgba(15,42,74,.18)}
.activities-more-btn:hover span:last-child{transform:translateX(4px)}
.activities-page-heading{text-align:left;margin-left:0;margin-right:0;max-width:850px}
.activities-page-heading>p{margin-left:0}
.activities-full-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.activities-full-grid .activity-card:last-child{grid-column:1 / -1;max-width:calc(50% - 12px);width:100%;justify-self:center}
@keyframes activityCardIn{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}

/* Product category filter — pill/chip navigation */
.shop-wrap{position:relative}
.product-category-filter{display:flex;flex-wrap:wrap;align-items:center;gap:11px;margin:0 0 32px;padding:18px;border:1px solid #dce8f1;border-radius:20px;background:linear-gradient(135deg,#f7fbfe,#eef6fb);box-shadow:0 10px 28px rgba(15,42,74,.055);position:relative;overflow:hidden}
.product-category-filter:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--blue)}
.product-filter-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 18px;border:1px solid #cfdeea;border-radius:999px;background:#fff;color:var(--navy);font-size:.88rem;font-weight:700;line-height:1.2;text-decoration:none;box-shadow:0 3px 10px rgba(15,42,74,.04);transition:all .28s ease}
.product-filter-btn:before{content:"";width:6px;height:6px;border-radius:50%;background:#a9c8dc;margin-right:8px;transition:background .28s ease,transform .28s ease}
.product-filter-btn:hover{color:var(--blue);border-color:rgba(31,111,178,.45);background:#fafdff;transform:translateY(-2px);box-shadow:0 8px 18px rgba(31,111,178,.11)}
.product-filter-btn:hover:before{background:var(--blue);transform:scale(1.3)}
.product-filter-btn.active{background:linear-gradient(135deg,var(--blue),#2a82c2);border-color:var(--blue);color:#fff;box-shadow:0 9px 22px rgba(31,111,178,.24);transform:translateY(-1px)}
.product-filter-btn.active:before{background:#fff;transform:scale(1.25)}
.shop-result-count{display:flex;align-items:center;gap:7px;margin:0 0 20px;padding-left:3px;color:#63788b;font-size:.9rem}
.shop-result-count:before{content:"";width:28px;height:2px;background:var(--blue);border-radius:3px}
.shop-pagination ul{flex-wrap:wrap}
@media(max-width:900px){.activities-grid{grid-template-columns:1fr 1fr}.activities-full-grid .activity-card:last-child{grid-column:auto;max-width:none}.product-category-filter{padding:15px}}
@media(max-width:650px){.activities-grid,.activities-full-grid{grid-template-columns:1fr}.activities-full-grid .activity-card:last-child{grid-column:auto}.activity-card{padding:29px 24px}.activities-page-heading{text-align:center;margin-left:auto;margin-right:auto}.activities-page-heading>p{margin-left:auto}.product-category-filter{gap:8px}.product-filter-btn{font-size:.82rem;padding:9px 13px;min-height:40px}}

/* ============================================================
   Pharmacovigilance + Contact — ACT Pharma
   ============================================================ */
.pv-page-section{background:linear-gradient(180deg,#f7fbfe 0%,#fff 100%)}
.pv-intro-card{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 180px;align-items:center;gap:30px;background:linear-gradient(135deg,#083b68,#176fb2);border-radius:28px;padding:58px 64px;color:#fff;box-shadow:0 25px 60px rgba(8,59,104,.18)}
.pv-intro-card:after{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-130px;top:-150px}
.pv-intro-content{position:relative;z-index:2}.pv-intro-content .section-eyebrow{color:#a9d9f7}.pv-intro-content h1{margin:10px 0 24px;color:#fff;font-size:clamp(2rem,4vw,3.3rem);letter-spacing:-.04em}.pv-copy p{color:#e7f3fb;line-height:1.8;margin:0 0 13px}.pv-intro-icon{position:relative;z-index:2;display:grid;place-items:center;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);animation:pvFloat 4s ease-in-out infinite}.pv-intro-icon svg{width:80px;height:80px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pv-report-card{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-top:28px;padding:38px 42px;background:#fff;border:1px solid #dceaf4;border-radius:22px;box-shadow:0 15px 40px rgba(15,42,74,.07)}.pv-report-heading{max-width:900px}.pv-report-heading h2,.pv-form-heading h2{margin:8px 0 12px;color:var(--navy)}.pv-report-heading p,.pv-form-heading p{color:var(--ink-soft);line-height:1.75}.pv-report-btn{white-space:nowrap;display:inline-flex;gap:10px;align-items:center;background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 12px 25px rgba(31,111,178,.2)}.pv-report-btn:hover{transform:translateY(-3px);background:var(--navy);border-color:var(--navy)}.pv-form-section{margin-top:32px}.pv-form-heading{text-align:center;max-width:850px;margin:0 auto 25px}.pv-form-box{background:#fff;border:1px solid #dceaf4;border-radius:24px;padding:40px;box-shadow:0 18px 45px rgba(15,42,74,.08)}
.contact-form-heading{margin-bottom:24px}.contact-form-heading h3{font-size:1.5rem;line-height:1.35;color:var(--navy);margin:8px 0 10px}.contact-form-heading p{color:var(--ink-soft);line-height:1.7}
@keyframes pvFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media(max-width:800px){.pv-intro-card{grid-template-columns:1fr;padding:42px 30px}.pv-intro-icon{width:105px;height:105px}.pv-intro-icon svg{width:58px;height:58px}.pv-report-card{flex-direction:column;align-items:flex-start;padding:30px}.pv-form-box{padding:22px}}


/* =============================
   PHARMACOVIGILANCE / FORMS — refined
============================= */
.pv-page-section{padding-top:115px;padding-bottom:100px;min-height:70vh}
.pv-intro-card{isolation:isolate}
.pv-intro-content{max-width:900px}
.pv-report-card{position:relative;overflow:hidden}
.pv-report-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--blue);border-radius:5px}
.pv-report-heading .section-eyebrow{font-weight:800;letter-spacing:.08em}
.pv-report-btn{min-height:48px;padding:13px 22px;border-radius:12px;font-weight:700}
.pv-form-section{margin-top:48px}
.pv-form-heading{background:linear-gradient(180deg,#f7fbfe,#fff);border:1px solid #e2edf5;border-radius:22px 22px 0 0;padding:32px 34px 18px;max-width:none;text-align:left;margin:0}
.pv-form-heading h2{font-size:1.8rem;margin-top:8px}
.pv-form-box{border-radius:0 0 22px 22px;border-top:0;padding:34px 38px;box-shadow:0 18px 50px rgba(15,42,74,.08)}
.pv-form-box .gform_wrapper{margin:0!important}
.pv-form-box .gfield_label{font-weight:700!important;color:var(--navy)!important;margin-bottom:8px!important}
.pv-form-box input[type=text],.pv-form-box input[type=email],.pv-form-box input[type=tel],.pv-form-box select,.pv-form-box textarea{background:#fbfdff!important;border:1px solid #d8e6f0!important;border-radius:10px!important;min-height:48px;transition:border-color .2s,box-shadow .2s,transform .2s}
.pv-form-box input:focus,.pv-form-box select:focus,.pv-form-box textarea:focus{border-color:var(--blue)!important;box-shadow:0 0 0 4px rgba(31,111,178,.10)!important;outline:none!important}
.pv-form-box textarea{min-height:150px}
.pv-form-box .gform_page_footer{justify-content:flex-end;margin-top:30px!important;padding-top:20px!important;border-top:1px solid #e7eff5!important}
.pv-form-box .gform_button,.pv-form-box .gform_next_button{border-radius:12px!important;min-height:48px;padding:12px 26px!important;box-shadow:0 9px 22px rgba(31,111,178,.18)}
.pv-form-box .gform_previous_button{border-radius:12px!important;min-height:48px;padding:12px 22px!important}
.pv-form-box .gf_progressbar_wrapper{margin-bottom:30px!important}
.pv-form-box .gf_progressbar{height:7px!important;border-radius:99px!important;background:#e6eef5!important}
.pv-form-box .gf_progressbar_percentage{background:linear-gradient(90deg,#176fb2,#49a5d8)!important}
.pv-form-box .gfield_radio,.pv-form-box .gfield_checkbox{gap:10px!important}
.pv-form-box .gfield_radio label,.pv-form-box .gfield_checkbox label{border-radius:10px!important}
@media(max-width:800px){.pv-page-section{padding-top:90px}.pv-intro-card{padding:40px 26px}.pv-report-card{padding:30px 28px}.pv-form-heading{padding:26px 22px 14px}.pv-form-box{padding:24px 20px}.pv-form-box .gform_page_footer{justify-content:stretch}.pv-form-box .gform_button,.pv-form-box .gform_next_button,.pv-form-box .gform_previous_button{width:100%}}

/* ============================================================
   ADVERSE EVENT REPORTING PAGE — premium pharmacovigilance form
============================================================ */
.adverse-page{position:relative;overflow:hidden;padding:78px 0 105px;background:linear-gradient(180deg,#f4f9fd 0%,#ffffff 42%,#f8fbfd 100%);min-height:calc(100vh - 80px)}
.adverse-orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(.2px);opacity:.7}.adverse-orb-one{width:420px;height:420px;right:-190px;top:110px;background:radial-gradient(circle,#dceefa 0%,rgba(220,238,250,0) 70%)}.adverse-orb-two{width:360px;height:360px;left:-180px;bottom:100px;background:radial-gradient(circle,#e7f4fb 0%,rgba(231,244,251,0) 70%)}
.adverse-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:45px;max-width:1120px;margin:0 auto 25px;padding:48px 55px;border-radius:30px;background:linear-gradient(125deg,#073b67 0%,#1268a7 58%,#2382c1 100%);box-shadow:0 28px 65px rgba(8,59,104,.18);overflow:hidden;color:#fff}.adverse-hero:before{content:"";position:absolute;width:300px;height:300px;right:-95px;top:-165px;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 38px rgba(255,255,255,.025),0 0 0 78px rgba(255,255,255,.02)}.adverse-hero-copy{position:relative;z-index:2;max-width:790px}.adverse-kicker,.adverse-mini-label{display:inline-block;font-size:.74rem;letter-spacing:.16em;font-weight:800;color:#a9d9f7}.adverse-hero h1{margin:10px 0 15px;color:#fff;font-family:'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue', Arial, sans-serif;font-size:clamp(2.15rem,4.3vw,3.55rem);line-height:1.1;letter-spacing:-.04em}.adverse-hero p{margin:0 0 8px;color:#eaf6fd;max-width:760px;line-height:1.78;font-size:.98rem}.adverse-hero-badge{position:relative;z-index:2;flex:0 0 145px;width:145px;height:145px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#fff;background:rgba(255,255,255,.105);border:1px solid rgba(255,255,255,.2);box-shadow:inset 0 0 0 12px rgba(255,255,255,.025);animation:adverseFloat 4.5s ease-in-out infinite}.adverse-hero-badge svg{width:62px;height:62px}.adverse-hero-badge span{font-size:.72rem;font-weight:700;color:#e9f6fd;text-align:center}
.adverse-notice{position:relative;display:flex;align-items:center;gap:17px;max-width:1040px;margin:0 auto 25px;padding:17px 21px;border:1px solid #dceaf3;border-radius:17px;background:rgba(255,255,255,.92);box-shadow:0 10px 28px rgba(15,42,74,.055)}.adverse-notice-icon{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#e9f5fc;color:var(--blue)}.adverse-notice-icon svg{width:23px;height:23px}.adverse-notice strong{display:block;color:var(--navy);font-size:.9rem;margin-bottom:2px}.adverse-notice p{margin:0;max-width:none;font-size:.81rem;line-height:1.55;color:#607386}
.adverse-form-shell{position:relative;max-width:1040px;margin:0 auto;background:#fff;border:1px solid #dce8f1;border-radius:27px;box-shadow:0 25px 65px rgba(15,42,74,.09);overflow:hidden}.adverse-form-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:31px 38px 24px;border-bottom:1px solid #e6eef4;background:linear-gradient(180deg,#ffffff,#f9fcfe)}.adverse-form-head h2{margin:7px 0 0;font-size:1.75rem;letter-spacing:-.025em}.adverse-secure{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#f1f8fc;color:#537087;font-size:.76rem;font-weight:700;white-space:nowrap}.secure-dot{width:7px;height:7px;border-radius:50%;background:#42a77a;box-shadow:0 0 0 4px rgba(66,167,122,.11)}
.adverse-stepper{display:grid;grid-template-columns:auto minmax(20px,1fr) auto minmax(20px,1fr) auto minmax(20px,1fr) auto;align-items:center;gap:10px;padding:26px 38px 20px;background:#fbfdff}.adverse-step{display:flex;align-items:center;gap:9px;color:#8294a4;min-width:0;transition:color .25s ease}.adverse-step .step-number{width:35px;height:35px;flex:0 0 35px;display:grid;place-items:center;border-radius:50%;border:1.5px solid #d3e0e9;background:#fff;font-size:.78rem;font-weight:800;transition:all .25s ease}.adverse-step .step-label{font-size:.76rem;font-weight:700;white-space:nowrap}.adverse-step.active,.adverse-step.completed{color:var(--blue)}.adverse-step.active .step-number,.adverse-step.completed .step-number{color:#fff;background:var(--blue);border-color:var(--blue);box-shadow:0 7px 17px rgba(31,111,178,.2)}.adverse-step.completed .step-number{font-size:0}.adverse-step.completed .step-number:after{content:"✓";font-size:.85rem}.step-line{height:1px;background:#d9e5ed;position:relative}.step-line.filled{background:linear-gradient(90deg,var(--blue),#8fc5e5)}
.adverse-form-inner{padding:30px 38px 34px}.adverse-form-inner .gform_wrapper{margin:0!important}.adverse-form-inner .gform_wrapper .gform_heading{display:none}.adverse-form-inner .gform_wrapper ul.gform_fields{gap:22px}.adverse-form-inner .gform_wrapper li.gfield{background:#fff}.adverse-form-inner .gform_wrapper .gfield_label{font-size:.83rem!important;letter-spacing:.005em}.adverse-form-inner .gform_wrapper input[type=text],.adverse-form-inner .gform_wrapper input[type=email],.adverse-form-inner .gform_wrapper input[type=tel],.adverse-form-inner .gform_wrapper input[type=number],.adverse-form-inner .gform_wrapper select,.adverse-form-inner .gform_wrapper textarea{min-height:51px!important;border-radius:12px!important;background:#fbfdff!important;border-color:#d7e5ee!important;padding:13px 15px!important}.adverse-form-inner .gform_wrapper textarea{min-height:135px!important}.adverse-form-inner .gform_wrapper input:focus,.adverse-form-inner .gform_wrapper select:focus,.adverse-form-inner .gform_wrapper textarea:focus{transform:translateY(-1px)}.adverse-form-inner .gform_wrapper .gfield_radio,.adverse-form-inner .gform_wrapper .gfield_checkbox{gap:9px}.adverse-form-inner .gform_wrapper .gfield_radio label,.adverse-form-inner .gform_wrapper .gfield_checkbox label{border-radius:11px!important;background:#fbfdff;padding:10px 16px!important}.adverse-form-inner .gform_wrapper .gform_page_footer{margin-top:28px!important;padding-top:24px!important;border-top:1px solid #e7eff5!important;justify-content:space-between}.adverse-form-inner .gform_wrapper input.button,.adverse-form-inner .gform_wrapper .gform_button,.adverse-form-inner .gform_wrapper .gform_next_button,.adverse-form-inner .gform_wrapper .gform_previous_button{min-height:48px;padding:12px 24px!important;border-radius:12px!important;box-shadow:0 9px 22px rgba(31,111,178,.14)}.adverse-form-inner .gform_wrapper .gform_previous_button{box-shadow:none!important}.adverse-form-inner .gform_wrapper .gf_progressbar_wrapper{display:none!important}.adverse-form-inner .gform_wrapper .validation_error{padding:11px 13px!important;background:#fff7f7;border:1px solid #f1c8c8!important}.adverse-bottom-note{display:flex;align-items:center;gap:9px;padding:15px 38px;border-top:1px solid #e5eef4;background:#f7fbfd;color:#728697;font-size:.74rem}.adverse-bottom-note svg{width:18px;height:18px;flex:0 0 18px;color:var(--blue)}
@keyframes adverseFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(max-width:820px){.adverse-page{padding:50px 0 75px}.adverse-hero{padding:38px 30px}.adverse-hero-badge{flex-basis:110px;width:110px;height:110px}.adverse-hero-badge svg{width:48px;height:48px}.adverse-stepper{padding:21px 22px}.adverse-form-head{padding:26px 24px}.adverse-form-inner{padding:25px 24px}.adverse-bottom-note{padding:14px 24px}}
@media(max-width:650px){.adverse-hero{flex-direction:column;align-items:flex-start;gap:25px;border-radius:22px}.adverse-hero-badge{align-self:flex-end}.adverse-notice{align-items:flex-start;margin-left:0;margin-right:0}.adverse-form-shell{border-radius:20px}.adverse-form-head{align-items:flex-start;flex-direction:column}.adverse-secure{align-self:flex-start}.adverse-stepper{grid-template-columns:repeat(4,1fr);gap:7px;padding:18px 14px}.step-line{display:none}.adverse-step{flex-direction:column;justify-content:center;gap:5px;text-align:center}.adverse-step .step-number{width:32px;height:32px;flex-basis:32px}.adverse-step .step-label{font-size:.64rem;white-space:normal;line-height:1.2}.adverse-form-inner{padding:20px 17px 26px}.adverse-form-inner .gform_wrapper .gform_page_footer{flex-direction:column-reverse}.adverse-form-inner .gform_wrapper input.button,.adverse-form-inner .gform_wrapper .gform_button,.adverse-form-inner .gform_wrapper .gform_next_button,.adverse-form-inner .gform_wrapper .gform_previous_button{width:100%!important}.adverse-bottom-note{padding:14px 17px;align-items:flex-start}}


/* Dedicated Therapeutic Areas page */
.therapeutic-page-hero{
  padding: 110px 0 70px;
  background: linear-gradient(135deg,#f5fbff 0%,#ffffff 55%,#eef8ff 100%);
  border-bottom:1px solid var(--border);
  text-align:center;
}
.therapeutic-page-hero .section-title{ margin:10px auto 18px; max-width:900px; }
.therapeutic-page-intro{ max-width:820px; margin:0 auto; color:var(--ink-soft); font-size:1.08rem; line-height:1.8; }
.therapeutic-page-section{ padding-top:80px; }
.therapeutic-page-section .therapeutic-heading{ max-width:850px; margin-left:auto; margin-right:auto; text-align:center; }

/* =========================================================
   16. GLOBAL 60% CENTERED LAYOUT
   Desktop/tablet: 20% empty space on both sides.
   All shared content (navbar, pages, sections, footer,
   and WooCommerce shop content) stays inside the center 60%.
   Full-width backgrounds remain full viewport width.
========================================================= */
:root{
  --site-content-width: 60vw;
}

.container{
  width: var(--site-content-width);
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}

/* Override narrower hero-specific container limits so the
   same 20% / 60% / 20% layout is used everywhere. */
.hero .container,
.hero-welcome .container{
  width: var(--site-content-width);
  max-width: none;
}

/* WooCommerce shop wrapper follows the exact same center column. */
body.woocommerce .shop-wrap,
body.woocommerce-page .shop-wrap,
.shop-wrap{
  width: var(--site-content-width) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Keep full-width section/background elements full viewport width;
   only their inner .container is constrained to 60%. */
.section,
.site-header,
.site-footer,
.hero{
  width: 100%;
}

/* Prevent large internal grids from overflowing the center column. */
.container > *,
.shop-wrap > *{
  max-width: 100%;
}

/* Responsive: preserve usable content width on smaller screens.
   The 20% side margins are a desktop/tablet layout requirement. */
@media (max-width: 900px){
  :root{
    --site-content-width: 90vw;
  }

  .container,
  .hero .container,
  .hero-welcome .container,
  body.woocommerce .shop-wrap,
  body.woocommerce-page .shop-wrap,
  .shop-wrap{
    width: var(--site-content-width) !important;
  }
}

@media (max-width: 720px){
  :root{
    --site-content-width: calc(100vw - 32px);
  }

  .container,
  .hero .container,
  .hero-welcome .container,
  body.woocommerce .shop-wrap,
  body.woocommerce-page .shop-wrap,
  .shop-wrap{
    width: var(--site-content-width) !important;
  }
}


/* ============================================================
   17. REFINED CUTE NAVBAR
   Logo + Home start on the same visual line, with a compact,
   polished navbar and the language controls tucked to the right.
============================================================ */
@media (min-width: 721px){
  .site-header{
    background: rgba(255,255,255,.94);
    border-bottom: 0;
    box-shadow: none;
    padding: 8px 0;
  }

  .navbar{
    min-height: 54px;
    padding: 7px 12px 7px 6px;
    box-sizing: border-box;
    border: 1px solid rgba(31,111,178,.10);
    border-radius: 16px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 7px 24px rgba(15,42,74,.08);
    justify-content: flex-start;
    gap: 0;
  }

  /* Slightly left-shifted so the logo visually begins with the Home link. */
  .brand{
    flex: 0 0 auto;
    margin-left: -2px;
    margin-right: 22px;
    padding-left: 0;
    gap: 8px;
  }

  .brand img{
    height: 34px;
    width: auto;
    display: block;
  }

  .main-nav{
    flex: 0 1 auto;
  }

  .main-nav ul{
    align-items: center;
    gap: 5px;
  }

  .main-nav > ul > li > a{
    padding: 8px 11px;
    border-radius: 10px;
    font-size: .91rem;
    line-height: 1.2;
    transition: background .18s ease, color .18s ease, transform .18s ease;
  }

  .main-nav > ul > li > a:after{
    display: none;
  }

  .main-nav > ul > li > a:hover,
  .main-nav > ul > li.current-menu-item > a,
  .main-nav > ul > li.current_page_item > a{
    color: var(--blue);
    background: var(--blue-light);
    transform: translateY(-1px);
  }

  .nav-right{
    margin-left: auto;
    gap: 8px;
    padding-left: 12px;
  }

  .lang-toggle{
    gap: 3px;
    padding: 3px;
    border: 1px solid rgba(31,111,178,.10);
    border-radius: 10px;
    background: #f8fbfd;
  }

  .lang-toggle button{
    width: 27px;
    height: 24px;
    display: grid;
    place-items: center;
    border-radius: 7px;
  }

  .lang-toggle button.active{
    background: #fff;
    border-color: rgba(31,111,178,.18);
    box-shadow: 0 2px 7px rgba(15,42,74,.08);
  }
}


/* Final navbar balance: full-width header, centered 60% content rail. */
@media (min-width:721px){
  .site-header .navbar{ width:100%; }
  .site-header .navbar > .brand,
  .site-header .navbar > .main-nav,
  .site-header .navbar > .nav-right{ min-width:0; }
  .site-header .navbar > .brand{ margin-left:0; }
  .site-header .navbar > .nav-right{ margin-right:0; }
}
@media (max-width:720px){
  .navbar{ display:flex; justify-content:space-between; gap:12px; padding:10px 0; }
  .main-nav{ order:4; }
  .nav-toggle{ display:block; }
  .brand{ flex:1 1 auto; min-width:0; }
  .brand img{ height:32px; }
  .nav-right{ margin-left:auto; }
}


/* =========================================================
   18. ACT PHARMA FINAL VISUAL SYSTEM
   Calm medical palette: blue / white / grey / soft beige.
========================================================= */
:root{
  --act-blue:#174d78;
  --act-blue-2:#2b78ad;
  --act-blue-soft:#eaf3f8;
  --act-grey:#66727d;
  --act-grey-soft:#f4f6f7;
  --act-beige:#d9b98b;
  --act-beige-soft:#f7f1e8;
  --act-white:#fff;
  --act-shadow:0 12px 35px rgba(23,77,120,.09);
}

body{background:#fff;color:#27333d;}
.site-header{background:rgba(255,255,255,.96);border-bottom:1px solid #e5eaee;box-shadow:0 5px 24px rgba(23,77,120,.06);}
.site-header .navbar{width:60vw;max-width:none;margin:0 auto;display:grid;grid-template-columns:minmax(145px,1fr) auto minmax(145px,1fr);align-items:center;gap:24px;padding:9px 0;min-height:66px;background:transparent;border:0;box-shadow:none;border-radius:0;}
.brand{justify-self:start;margin:0!important;padding:0!important;}
.brand img{width:158px;height:auto;max-height:44px;object-fit:contain;}
.main-nav{justify-self:center;}
.main-nav ul{gap:4px;}
.main-nav > ul > li > a{color:#3f4b55!important;padding:9px 12px;border-radius:11px;font-size:.9rem;font-weight:600;}
.main-nav > ul > li > a:hover,.main-nav > ul > li.current-menu-item > a,.main-nav > ul > li.current_page_item > a{background:var(--act-blue-soft);color:var(--act-blue)!important;transform:none;}
.nav-right{justify-self:end;margin-left:0!important;padding-left:0!important;display:flex;align-items:center;gap:10px;}
.lang-toggle{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid #dfe7ec;border-radius:999px;background:#f7f9fa;}
.lang-toggle button{width:34px;height:29px;border:1px solid transparent;background:transparent;border-radius:999px;cursor:pointer;display:grid;place-items:center;transition:.2s ease;}
.lang-toggle button:hover,.lang-toggle button.active{background:#fff;border-color:#dce5eb;box-shadow:0 3px 9px rgba(23,77,120,.10);}
.lang-toggle svg{width:22px;height:14px;border-radius:2px;}
.nav-toggle{border:1px solid #dce5eb!important;background:#fff!important;border-radius:11px!important;}

/* Softer, more premium shared page surfaces */
.section{padding:76px 0;}
.section.alt{background:linear-gradient(180deg,#f7f9fa,#fff);}
.card,.activity-card,.therapeutic-card,.shop-card{border:1px solid #e3e9ed!important;border-radius:18px!important;box-shadow:var(--act-shadow)!important;background:#fff;}
.card:hover,.activity-card:hover,.therapeutic-card:hover,.shop-card:hover{border-color:#cbdde8!important;box-shadow:0 18px 42px rgba(23,77,120,.13)!important;transform:translateY(-3px);}
.btn{background:var(--act-blue);border-color:var(--act-blue);border-radius:999px;padding:11px 22px;box-shadow:0 7px 18px rgba(23,77,120,.12);}
.btn:hover{background:#103b5d;border-color:#103b5d;}
.btn.outline{background:#fff;color:var(--act-blue);border-color:#c9d9e3;box-shadow:none;}
.btn.outline:hover{background:var(--act-blue);color:#fff;border-color:var(--act-blue);}
.section-eyebrow{color:var(--act-blue-2)!important;letter-spacing:.12em;font-size:.72rem;font-weight:800;}
h1,h2,h3,h4{color:var(--act-blue);}

/* Hero uses the existing ACT images but adds a clean editorial layer. */
.hero{min-height:560px;background-position:center;background-size:cover;}
.hero .container{position:relative;z-index:2;}
.welcome-content{max-width:100%; width:100%;}
.acting-life{color:#fff;}
.welcome-lead{color:#f7fbfd;}
.welcome-sub{color:#e0ebf2;}

/* Page headers */
.therapeutic-page-hero,.activities-page-hero,.shop-heading{background:linear-gradient(135deg,#f7fafb 0%,#fff 58%,var(--act-beige-soft) 100%);}
.therapeutic-page-hero{padding:86px 0 62px;}

/* Product area */
.shop-heading{padding:28px;border:1px solid #e2e9ee;border-radius:22px;margin-bottom:26px;box-shadow:0 10px 28px rgba(23,77,120,.05);}
.shop-grid{gap:22px;}
.shop-card{overflow:hidden;padding:0 24px 24px!important;}
.shop-card-media{margin:0 -24px 20px!important;height:190px;background:linear-gradient(135deg,#edf5f9,#f7f2ea);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.shop-card-media img{width:100%;height:100%;object-fit:cover;}
.shop-card h3{color:var(--act-blue);}
.shop-card-price{color:var(--act-blue-2)!important;}
.product-category-filter{background:linear-gradient(135deg,#f8fafb,#f6f0e7)!important;border-color:#e2e8eb!important;}
.product-filter-btn{border-radius:999px!important;background:#fff!important;color:#52616d!important;border:1px solid #dce5ea!important;}
.product-filter-btn:hover,.product-filter-btn.active{background:var(--act-blue)!important;color:#fff!important;border-color:var(--act-blue)!important;}

/* WooCommerce single product */
body.single-product .site-main,body.single-product #primary{background:#fff;}
.woocommerce div.product{padding:34px 0 70px;}
.woocommerce div.product .woocommerce-product-gallery{background:#f7f9fa;border:1px solid #e2e8ec;border-radius:22px;padding:18px;}
.woocommerce div.product .summary{background:#fff;border:1px solid #e2e8ec;border-radius:22px;padding:30px;box-shadow:var(--act-shadow);}
.woocommerce div.product .product_title{font-size:2.2rem;}
.woocommerce div.product .summary .price{color:var(--act-blue-2);}
.woocommerce div.product form.cart .button{border-radius:999px;background:var(--act-blue);}
.woocommerce div.product .woocommerce-tabs{border-top:1px solid #e4eaee;padding-top:30px;}

/* Footer: no logo, simple and airy */
.site-footer{background:#f3f6f7!important;color:#5d6973!important;border-top:1px solid #e0e7eb!important;}
.site-footer .container{padding-top:58px;padding-bottom:24px;}
.site-footer h4{color:var(--act-blue)!important;font-size:1rem;}
.site-footer a{color:#5c6872!important;}
.site-footer a:hover{color:var(--act-blue)!important;}
.footer-brand-column p{color:#6b7781!important;}
.footer-bottom{border-top:1px solid #dce4e8!important;color:#74808a!important;}
.social-icon{background:#fff!important;border:1px solid #dbe4e9!important;color:var(--act-blue)!important;}
.social-icon:hover{background:var(--act-blue)!important;color:#fff!important;}

/* Subtle beige highlights used as accents, not dominant color. */
.tag,.adverse-kicker,.adverse-mini-label{color:#9a713e!important;}

@media(max-width:1100px){
  .site-header .navbar{width:90vw;grid-template-columns:150px 1fr 150px;gap:12px;}
  .brand img{width:145px;}
  .main-nav > ul > li > a{padding-left:8px;padding-right:8px;font-size:.84rem;}
}
@media(max-width:820px){
  .site-header .navbar{width:calc(100vw - 32px);grid-template-columns:1fr auto;min-height:60px;}
  .brand img{width:145px;}
  .main-nav{grid-column:1/-1;grid-row:2;justify-self:stretch;display:none;}
  .main-nav.open{display:block;}
  .main-nav ul{flex-direction:column;align-items:stretch;padding:8px 0 12px;}
  .main-nav > ul > li > a{display:block;text-align:left;}
  .nav-right{justify-self:end;}
  .nav-toggle{display:block;}
}

/* =========================================================
   FINAL NAVBAR POLISH — responsive and evenly balanced
========================================================= */
.site-header .navbar{
  width: min(92vw, 1180px);
  margin: 0 auto;
  grid-template-columns: minmax(150px,1fr) auto minmax(150px,1fr);
  column-gap: 28px;
  min-height:56px;
  padding-top:4px;
  padding-bottom:4px;
}
.site-header .brand{ min-width:0; }
.site-header .brand img{ display:block; width:166px; max-width:100%; max-height:48px; height:auto; }
.site-header .main-nav{ min-width:0; }
.site-header .main-nav > ul{ gap:2px; flex-wrap:nowrap; }
.site-header .main-nav > ul > li > a{
  font-family: inherit;
  font-size:.92rem;
  font-weight:600;
  line-height:1.2;
  white-space:nowrap;
  padding:9px 11px;
  border-radius:10px;
  transition:background .18s ease,color .18s ease;
}
.site-header .nav-right{ min-width:0; }

/* Tablet: keep the desktop navbar clean until the menu can no longer fit. */
@media (max-width: 1020px) and (min-width: 821px){
  .site-header .navbar{ width:calc(100vw - 32px); grid-template-columns:150px 1fr auto; column-gap:14px; }
  .site-header .main-nav > ul{ gap:0; }
  .site-header .main-nav > ul > li > a{ font-size:.84rem; padding-left:7px; padding-right:7px; }
  .site-header .brand img{ width:150px; max-height:44px; }
}

/* Phone/tablet: one compact row + full-width dropdown. */
@media (max-width: 820px){
  .site-header .navbar{
    position:relative;
    width:calc(100vw - 28px);
    min-height:54px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:4px 0;
  }
  .site-header .brand{ order:1; flex:1 1 auto; min-width:0; }
  .site-header .brand img{ width:145px; max-height:42px; }
  .site-header .nav-right{ order:2; margin-left:auto!important; flex:0 0 auto; }
  .site-header .nav-toggle{
    order:3;
    display:flex!important;
    width:42px;
    height:38px;
    padding:0;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    flex:0 0 42px;
  }
  .site-header .nav-toggle span{ width:20px; margin:3px 0; }
  .site-header .main-nav{
    order:4;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    width:100%;
    margin:0;
    display:none;
    background:#fff;
    border:1px solid #e2e8ec;
    border-top:0;
    border-radius:0 0 16px 16px;
    box-shadow:0 14px 28px rgba(23,77,120,.12);
    overflow:hidden;
    z-index:1000;
  }
  .site-header .main-nav.open{ display:block; }
  .site-header .main-nav > ul{
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:8px;
  }
  .site-header .main-nav > ul > li{ width:100%; border:0; }
  .site-header .main-nav > ul > li > a{
    display:block;
    width:100%;
    text-align:left;
    font-size:.94rem;
    padding:12px 14px;
    border-radius:10px;
  }
  .site-header .main-nav > ul > li > a:hover,
  .site-header .main-nav > ul > li.current-menu-item > a,
  .site-header .main-nav > ul > li.current_page_item > a{ background:var(--act-blue-soft); }
}

@media (max-width: 420px){
  .site-header .navbar{ width:calc(100vw - 20px); }
  .site-header .brand img{ width:128px; max-height:38px; }
  .site-header .lang-toggle button{ width:31px; height:27px; }
  .site-header .lang-toggle svg{ width:20px; height:13px; }
  .site-header .nav-toggle{ width:39px; height:36px; flex-basis:39px; }
}

/* =========================================================
   FINAL CONTAINER-ALIGNED NAVBAR
   The navbar uses the exact same responsive content rail as
   the page content. This keeps its left/right edges aligned
   with the text and sections, including browser zoom.
========================================================= */
@media (min-width: 821px){
  .site-header .navbar{
    width: var(--site-content-width) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
  }

  /* Keep the existing three-zone balance: logo / menu / language. */
  .site-header .navbar{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    column-gap: 28px !important;
    align-items: center;
  }

  .site-header .brand{
    justify-self: start !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .site-header .main-nav{
    justify-self: center !important;
  }

  .site-header .nav-right{
    justify-self: end !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* At <=900px the page content itself changes to 90vw; the navbar
   follows the same variable automatically instead of using a
   separate width. */
@media (min-width: 821px) and (max-width: 900px){
  .site-header .navbar{
    column-gap: 12px !important;
  }
  .site-header .brand img{
    width: 145px;
    max-height: 44px;
  }
  .site-header .main-nav > ul > li > a{
    font-size: .84rem;
    padding-left: 7px;
    padding-right: 7px;
  }
}

/* Mobile keeps the same content rail as the rest of the page. */
@media (max-width: 820px){
  .site-header .navbar{
    width: var(--site-content-width) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* =============================
   HOME HERO TEXT WIDTH / STATIC TITLE
   Keep every hero text block inside the exact same layout column.
============================= */
.hero-welcome .welcome-content,
.hero-welcome .acting-life,
.hero-welcome .welcome-lead,
.hero-welcome .welcome-sub{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}

.hero-welcome .acting-life{
  white-space:normal;
  overflow:visible;
}

.hero-welcome .acting-life-typing{
  display:block;
  width:auto;
  max-width:100%;
  font-size:clamp(2.65rem,5vw,4.4rem);
  line-height:1.08;
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
  animation:none !important;
}

@media (max-width:650px){
  .hero-welcome .acting-life{min-height:0;margin-bottom:22px;}
  .hero-welcome .acting-life-typing{font-size:clamp(2.2rem,9vw,3.6rem);}
}

/* ============================================================
   Section title accent — slim blue line before headings
   ============================================================ */
.section-eyebrow,
.contact-copy .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.section-eyebrow:before,
.contact-copy .eyebrow:before{
  content:"";
  display:inline-block;
  width:34px;
  height:2px;
  flex:0 0 34px;
  background:var(--blue);
  border-radius:2px;
}

/* Main Contact heading */
.contact-copy h2{
  display:flex;
  align-items:center;
  gap:12px;
}
.contact-copy h2:before{
  content:"";
  display:inline-block;
  width:34px;
  height:2px;
  flex:0 0 34px;
  background:var(--blue);
  border-radius:2px;
}

/* Pharmacovigilance hero title */
.pv-intro-card{
  min-height:420px;
}
.pv-intro-content h1{
  display:flex;
  align-items:center;
  gap:12px;
}
.pv-intro-content h1:before{
  content:"";
  display:inline-block;
  width:38px;
  height:2px;
  flex:0 0 38px;
  background:#79c9f2;
  border-radius:2px;
}

@media(max-width:650px){
  .section-eyebrow:before,
  .contact-copy .eyebrow:before,
  .contact-copy h2:before,
  .pv-intro-content h1:before{
    width:25px;
    flex-basis:25px;
  }
  .contact-copy h2,
  .pv-intro-content h1{
    gap:9px;
  }
  .pv-intro-card{
    min-height:0;
  }
}

/* ============================================================
   Small blue accent line before section labels and headings
   ============================================================ */
.section-eyebrow,
.contact-copy .eyebrow,
.contact-copy h2,
.pv-intro-content h1{
  position:relative;
}

.section-eyebrow,
.contact-copy .eyebrow{
  display:inline-block;
  padding-left:30px;
}

.section-eyebrow:before,
.contact-copy .eyebrow:before,
.contact-copy h2:before,
.pv-intro-content h1:before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:20px;
  height:2px;
  background:var(--blue);
  border-radius:2px;
  transform:translateY(-50%);
}

/* Keep the main Pharmacovigilance hero a little taller */
.pv-intro-card{
  min-height:430px;
  padding-top:72px;
  padding-bottom:72px;
}

.pv-intro-content h1{
  padding-left:30px;
}

@media(max-width:800px){
  .pv-intro-card{
    min-height:420px;
    padding-top:48px;
    padding-bottom:48px;
  }
}

/* ============================================================
   ACT Pharma — visible blue accent before section labels/headings
   ============================================================ */
.section-eyebrow,
.contact-copy .eyebrow,
.contact-copy h2,
.pv-intro-content h1 {
  position: relative !important;
}

.section-eyebrow,
.contact-copy .eyebrow {
  display: inline-block !important;
  padding-left: 36px !important;
}

.section-eyebrow::before,
.contact-copy .eyebrow::before,
.contact-copy h2::before,
.pv-intro-content h1::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: block !important;
  width: 24px !important;
  height: 3px !important;
  min-width: 24px !important;
  background: #1f6fb2 !important;
  border: 0 !important;
  border-radius: 2px !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 20 !important;
}

.contact-copy h2,
.pv-intro-content h1 {
  padding-left: 36px !important;
}

.pv-intro-card {
  min-height: 430px !important;
}

@media (max-width: 800px) {
  .section-eyebrow,
  .contact-copy .eyebrow,
  .contact-copy h2,
  .pv-intro-content h1 {
    padding-left: 32px !important;
  }
  .section-eyebrow::before,
  .contact-copy .eyebrow::before,
  .contact-copy h2::before,
  .pv-intro-content h1::before {
    width: 22px !important;
    min-width: 22px !important;
  }
}

/* =========================================================
   CLEAN SINGLE PRODUCT PAGE
   Same centered layout as the rest of the ACT Pharma site.
========================================================= */
body.single-product .act-single-product{
  background:var(--white);
}

body.single-product .act-product-section{
  padding-top:86px;
  padding-bottom:96px;
}

.act-product-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:72px;
  align-items:center;
}

.act-product-image{
  width:100%;
  min-height:430px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f7fafc;
  border:1px solid #e2e9ee;
  border-radius:var(--radius);
  padding:32px;
}

.act-product-image img{
  width:100%;
  max-width:520px;
  max-height:520px;
  height:auto;
  object-fit:contain;
  margin:auto;
}

.act-product-info{
  max-width:620px;
}

.act-product-title{
  font-family:'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue', Arial, sans-serif;
  color:var(--navy);
  font-size:clamp(2rem,3.5vw,3.1rem);
  line-height:1.12;
  margin:0 0 28px;
}

.act-product-details{
  border-top:1px solid var(--border);
  padding-top:22px;
}

.act-product-details p,
.act-product-category{
  color:var(--ink-soft);
  font-size:1rem;
  line-height:1.75;
  margin:0 0 8px;
  max-width:none;
}

.act-product-details strong,
.act-product-category strong{
  color:var(--navy);
  font-weight:700;
}

.act-product-category{
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid var(--border);
}

.act-product-category a{
  color:var(--blue);
  font-weight:600;
}

/* The clean product page intentionally has no WooCommerce tabs,
   related products, price/cart controls or breadcrumbs. */
body.single-product .woocommerce-breadcrumb,
body.single-product .woocommerce-tabs,
body.single-product .related.products,
body.single-product .upsells.products,
body.single-product .product_meta,
body.single-product .summary .price,
body.single-product form.cart,
body.single-product .woocommerce-product-gallery__trigger,
body.single-product .flex-control-thumbs{
  display:none !important;
}

@media(max-width:900px){
  body.single-product .act-product-section{padding-top:60px;padding-bottom:70px;}
  .act-product-layout{grid-template-columns:1fr;gap:42px;}
  .act-product-info{max-width:none;}
  .act-product-image{min-height:360px;}
}

@media(max-width:560px){
  body.single-product .act-product-section{padding-top:42px;padding-bottom:54px;}
  .act-product-layout{gap:30px;}
  .act-product-image{min-height:280px;padding:20px;}
  .act-product-title{font-size:2rem;}
}


/* =============================
   CONTACT FORM — FINAL POLISH
   Keeps Gravity Forms inside the card/container and gives the form a clean
   Home-page-style layout. Works with the current Contact Form 1 fields.
============================= */
.contact-form-box{
  width:100%;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  padding:36px;
  box-sizing:border-box;
}

.contact-form-heading{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  margin-bottom:26px;
}
.contact-form-heading h3{
  margin:9px 0 9px;
  max-width:100%;
  overflow-wrap:anywhere;
}
.contact-form-heading p{
  max-width:100%;
  overflow-wrap:anywhere;
}

/* Gravity Forms should never create a wider element than its parent. */
.contact-form-box .gform_wrapper,
.contact-form-box .gform_wrapper form,
.contact-form-box .gform_wrapper .gform_body,
.contact-form-box .gform_wrapper .gform_fields,
.contact-form-box .gform_wrapper .gfield,
.contact-form-box .gform_wrapper .ginput_container,
.contact-form-box .gform_wrapper .ginput_complex{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

.contact-form-box .gform_wrapper .gform_fields{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:18px !important;
  row-gap:18px !important;
}

/* Full-width fields: message, consent, captcha and any field explicitly
   marked as a full row by Gravity Forms. */
.contact-form-box .gform_wrapper .gfield--type-textarea,
.contact-form-box .gform_wrapper .gfield--type-captcha,
.contact-form-box .gform_wrapper .gfield--type-consent,
.contact-form-box .gform_wrapper .gfield.gfield--width-full,
.contact-form-box .gform_wrapper .gform_page_footer,
.contact-form-box .gform_wrapper .gform_footer{
  grid-column:1 / -1 !important;
}

/* If Gravity Forms outputs a Name field, keep all its parts together. */
.contact-form-box .gform_wrapper .ginput_container_name{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
}
.contact-form-box .gform_wrapper .ginput_container_name > span{
  min-width:0 !important;
}
.contact-form-box .gform_wrapper .ginput_container_name input{
  width:100% !important;
  min-width:0 !important;
}

.contact-form-box .gform_wrapper input,
.contact-form-box .gform_wrapper select,
.contact-form-box .gform_wrapper textarea{
  max-width:100% !important;
  min-width:0 !important;
}

.contact-form-box .gform_wrapper textarea{
  width:100% !important;
  max-width:100% !important;
  min-height:145px !important;
  resize:vertical;
}

.contact-form-box .gform_wrapper .gform_footer,
.contact-form-box .gform_wrapper .gform_page_footer{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  align-items:center;
  flex-wrap:wrap;
}

.contact-form-box .gform_wrapper .gform_button,
.contact-form-box .gform_wrapper input.button{
  max-width:100%;
  white-space:normal;
}

/* Remove old Gravity Forms table/list spacing that can push the form outside
   the white card in older Gravity Forms versions. */
.contact-form-box .gform_wrapper ul,
.contact-form-box .gform_wrapper ol{
  max-width:100% !important;
  box-sizing:border-box !important;
}
.contact-form-box .gform_wrapper .gfield_description,
.contact-form-box .gform_wrapper .validation_message{
  max-width:100% !important;
  overflow-wrap:anywhere;
}

@media(max-width:800px){
  .contact-grid{gap:36px;}
  .contact-form-box{padding:28px 24px;}
  .contact-form-box .gform_wrapper .gform_fields{
    grid-template-columns:1fr;
  }
  .contact-form-box .gform_wrapper .gfield--type-textarea,
  .contact-form-box .gform_wrapper .gfield--type-captcha,
  .contact-form-box .gform_wrapper .gfield--type-consent,
  .contact-form-box .gform_wrapper .gfield.gfield--width-full,
  .contact-form-box .gform_wrapper .gform_page_footer,
  .contact-form-box .gform_wrapper .gform_footer{
    grid-column:1 !important;
  }
}

@media(max-width:480px){
  .contact-form-box{padding:22px 18px;}
  .contact-form-box .gform_wrapper .ginput_container_name{
    grid-template-columns:1fr;
  }
}

/* Home information cards: keep all three cards aligned horizontally even when text lengths differ */
.home-info-grid{
  align-items:stretch;
}
.home-info-card{
  height:100%;
  display:flex;
  flex-direction:column;
}
.home-info-card .home-info-icon{
  flex:0 0 auto;
}
.home-info-card .section-eyebrow{
  flex:0 0 auto;
}
.home-info-card h2{
  flex:0 0 auto;
  min-height:2.1em;
}
.home-info-card p{
  flex:0 0 auto;
}
.home-info-card .link-arrow{
  margin-top:auto;
  align-self:flex-start;
}

@media (max-width: 900px){
  .home-info-card h2{min-height:0;}
}

/* Therapeutic area custom image icons */
.therapeutic-icon img{
  width:44px;
  height:44px;
  object-fit:contain;
  display:block;
}

/* Footer — deep navy refresh */
.site-footer{
  background:#011330 !important;
  color:#FEFEFA !important;
  border-top:1px solid rgba(254,254,250,.16) !important;
}
.site-footer .container{
  padding-top:58px;
  padding-bottom:24px;
}
.site-footer h4{
  color:#FFFFFF !important;
}
.site-footer p,
.site-footer li,
.site-footer span{
  color:#FEFEFA !important;
}
.site-footer a{
  color:#FEFEFA !important;
}
.site-footer a:hover{
  color:#FFFFFF !important;
}
.site-footer .footer-brand-column p{
  color:#FEFEFA !important;
}
.site-footer .footer-bottom{
  border-top:1px solid rgba(254,254,250,.20) !important;
  color:#FEFEFA !important;
}
.site-footer .footer-bottom a{
  color:#FEFEFA !important;
}
.site-footer .social-icon{
  color:#FEFEFA !important;
  border-color:rgba(254,254,250,.30) !important;
}
.site-footer .social-icon:hover{
  color:#FFFFFF !important;
  border-color:#FFFFFF !important;
  background:rgba(254,254,250,.08) !important;
}

/* FINAL FOOTER NAVY OVERRIDE — v17
   Strong selectors override theme/customizer and inline footer styles. */
html body .site-footer,
html body footer.site-footer#site-footer {
  background: #011330 !important;
  background-color: #011330 !important;
  color: #FEFEFA !important;
  border-top: 0 !important;
}

html body .site-footer * {
  border-color: rgba(254,254,250,.18);
}

html body .site-footer h4,
html body .site-footer .footer-brand-column h4 {
  color: #FFFFFF !important;
}

html body .site-footer p,
html body .site-footer li,
html body .site-footer span,
html body .site-footer .footer-brand-column p,
html body .site-footer .footer-brand-column p[style] {
  color: #FEFEFA !important;
}

html body .site-footer a,
html body .site-footer li a,
html body .site-footer .footer-bottom a {
  color: #FEFEFA !important;
}

html body .site-footer a:hover,
html body .site-footer li a:hover,
html body .site-footer .footer-bottom a:hover {
  color: #FFFFFF !important;
}

html body .site-footer .footer-bottom {
  border-top: 1px solid rgba(254,254,250,.22) !important;
  color: #FEFEFA !important;
}

html body .site-footer .social-icon {
  color: #FEFEFA !important;
  background: transparent !important;
  border: 1px solid rgba(254,254,250,.35) !important;
}

html body .site-footer .social-icon:hover {
  color: #FFFFFF !important;
  background: rgba(254,254,250,.10) !important;
  border-color: #FFFFFF !important;
}


/* FINAL SIMPLE BLUE FOOTER */
#site-footer.site-footer { background: #011330 !important; background-color: #011330 !important; }
#site-footer.site-footer h4 { color:#FFFFFF !important; }
#site-footer.site-footer, #site-footer.site-footer p, #site-footer.site-footer li, #site-footer.site-footer span { color:#FEFEFA !important; }
#site-footer.site-footer a { color:#FEFEFA !important; }

/* FOOTER TEXT VISIBILITY — v19 */
html body #site-footer.site-footer,
html body #site-footer.site-footer p,
html body #site-footer.site-footer li,
html body #site-footer.site-footer span,
html body #site-footer.site-footer .footer-bottom,
html body #site-footer.site-footer .footer-bottom span {
  color: #FEFEFA !important;
}

html body #site-footer.site-footer h4,
html body #site-footer.site-footer .footer-brand-column h4 {
  color: #FFFFFF !important;
}

html body #site-footer.site-footer a,
html body #site-footer.site-footer li a,
html body #site-footer.site-footer .footer-bottom a {
  color: #FEFEFA !important;
  text-decoration: none;
}

html body #site-footer.site-footer a:hover,
html body #site-footer.site-footer li a:hover,
html body #site-footer.site-footer .footer-bottom a:hover {
  color: #FFFFFF !important;
}

html body #site-footer.site-footer .social-icon,
html body #site-footer.site-footer .social-icon svg {
  color: #FEFEFA !important;
  fill: currentColor !important;
}

html body #site-footer.site-footer .social-icon:hover,
html body #site-footer.site-footer .social-icon:hover svg {
  color: #FFFFFF !important;
  fill: currentColor !important;
}

/* FINAL: FOOTER TEXT WHITE — v20 */
html body #site-footer.site-footer,
html body #site-footer.site-footer *:not(svg):not(path) {
  color: #FFFFFF !important;
}
html body #site-footer.site-footer a,
html body #site-footer.site-footer a span,
html body #site-footer.site-footer li,
html body #site-footer.site-footer p,
html body #site-footer.site-footer h4,
html body #site-footer.site-footer .footer-bottom,
html body #site-footer.site-footer .footer-bottom span {
  color: #FFFFFF !important;
}
html body #site-footer.site-footer .social-icon,
html body #site-footer.site-footer .social-icon svg {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
}
html body #site-footer.site-footer a:hover,
html body #site-footer.site-footer a:hover span {
  color: #FFFFFF !important;
}


/* FOOTER PEACH LINKS — v22 */
html body #site-footer.site-footer a.footer-peach-link,
html body #site-footer.site-footer a.footer-peach-link span {
  color: #F4B6A6 !important;
}
html body #site-footer.site-footer a.footer-peach-link:hover,
html body #site-footer.site-footer a.footer-peach-link:hover span {
  color: #FFFFFF !important;
}


/* FOOTER — SPECIFIC PEACH LINKS v23
   Only these footer navigation/map/privacy links are light peach. */
html body #site-footer.site-footer a.footer-peach-link,
html body #site-footer.site-footer a.footer-peach-link:link,
html body #site-footer.site-footer a.footer-peach-link:visited,
html body #site-footer.site-footer a.footer-peach-link span,
html body #site-footer.site-footer .footer-bottom a.footer-peach-link,
html body #site-footer.site-footer .footer-bottom a.footer-peach-link span {
  color: #FFF8DC !important;
  -webkit-text-fill-color: #FFF8DC !important;
}
html body #site-footer.site-footer a.footer-peach-link:hover,
html body #site-footer.site-footer a.footer-peach-link:hover span,
html body #site-footer.site-footer .footer-bottom a.footer-peach-link:hover,
html body #site-footer.site-footer .footer-bottom a.footer-peach-link:hover span {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
\n\n/* =========================================================
   GLOBAL SECTION / PRODUCT TITLE TYPOGRAPHY — Segoe UI
   Based on the existing title classes; icons and imagery untouched.
========================================================= */
h1, h2, h3, h4,
.section-title,
.woocommerce ul.products li.product h2,
.related.products h2,
.act-product-title,
.shop-card h3,
.therapeutic-card h3,
.activity-card h2,
.activity-card h3,
.home-info-card h2,
.contact-copy h2,
.contact-form-heading h3,
.pv-form-heading h2 {
  font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-style: normal !important;
}

/* Main section titles and titles that were designed as strong headings stay bold. */
h1, h2, h3, h4,
.section-title,
.woocommerce ul.products li.product h2,
.related.products h2,
.act-product-title,
.shop-card h3,
.therapeutic-card h3,
.activity-card h2,
.activity-card h3,
.home-info-card h2,
.contact-copy h2,
.contact-form-heading h3,
.pv-form-heading h2 {
  font-weight: 700 !important;
}

/* Keep the hero's existing visual weight while replacing only its font family. */
.hero h1,
.hero-welcome h1,
.pv-intro-content h1,
.adverse-hero h1 {
  font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-style: normal !important;
}




/* =========================================================
   ACT PHARMA — FINAL THERAPEUTIC AREAS PALETTE
   ========================================================= */
html body #site-footer.site-footer,
html body footer.site-footer,
html body .site-footer,
html body #footer {
  background:#011330 !important;
  background-color:#011330 !important;
}

/* Entire Aires thérapeutiques section — NO GREY */
html body section.therapeutic-section,
html body .therapeutic-section,
html body .therapeutic-areas,
html body .therapeutic-area,
html body .therapeutic-areas-section,
html body .therapeutic-areas-home,
html body .aires-therapeutiques {
  background:#CCDEF6 !important;
  background-color:#CCDEF6 !important;
  background-image:none !important;
  color:#0C0D0F !important;
}

/* Main section title: black */
html body .therapeutic-section .therapeutic-heading .section-title,
html body .therapeutic-section h2.section-title,
html body .therapeutic-areas h1,
html body .therapeutic-area h1,
html body .aires-therapeutiques h1 {
  color:#0C0D0F !important;
}

/* Intro: dark blue */
html body .therapeutic-section .therapeutic-heading > p,
html body .therapeutic-section .therapeutic-heading p,
html body .therapeutic-areas p,
html body .therapeutic-area p,
html body .aires-therapeutiques p {
  color:#123A67 !important;
}

/* Therapeutic-area titles: dark blue */
html body .therapeutic-section .therapeutic-card h3,
html body .therapeutic-areas .therapeutic-card h3,
html body .therapeutic-area .therapeutic-card h3,
html body .aires-therapeutiques .therapeutic-card h3 {
  color:#123A67 !important;
}

/* Cards and icon backgrounds */
html body .therapeutic-section .therapeutic-card,
html body .therapeutic-section .therapeutic-icon,
html body .therapeutic-areas .therapeutic-card,
html body .therapeutic-areas .therapeutic-icon,
html body .therapeutic-area .therapeutic-card,
html body .therapeutic-area .therapeutic-icon,
html body .aires-therapeutiques .therapeutic-card,
html body .aires-therapeutiques .therapeutic-icon {
  background:#E5EEFA !important;
  color:#123A67 !important;
  border-color:rgba(18,58,103,.18) !important;
}

/* Decorative details */
html body .therapeutic-section .therapeutic-card:before,
html body .therapeutic-section .therapeutic-card:after {
  background:#E5EEFA !important;
  opacity:1 !important;
}
html body .therapeutic-section .therapeutic-number {
  color:#123A67 !important;
  opacity:.7 !important;
}
html body .therapeutic-section .therapeutic-icon svg,
html body .therapeutic-areas .therapeutic-icon svg,
html body .therapeutic-area .therapeutic-icon svg,
html body .aires-therapeutiques .therapeutic-icon svg {
  color:#123A67 !important;
  stroke:#123A67 !important;
}

/* Hover: stay in the same light-blue family */
html body .therapeutic-section .therapeutic-card:hover,
html body .therapeutic-areas .therapeutic-card:hover,
html body .therapeutic-area .therapeutic-card:hover,
html body .aires-therapeutiques .therapeutic-card:hover {
  background:#E5EEFA !important;
  border-color:#123A67 !important;
}
html body .therapeutic-section .therapeutic-card:hover .therapeutic-icon,
html body .therapeutic-areas .therapeutic-card:hover .therapeutic-icon,
html body .therapeutic-area .therapeutic-card:hover .therapeutic-icon,
html body .aires-therapeutiques .therapeutic-card:hover .therapeutic-icon {
  background:#E5EEFA !important;
}

/* Preserve configurable LinkedIn link */
html body .site-footer a,
html body footer a,
html body #footer a {
  pointer-events:auto;
}

/* Home information section — requested #E5EEFA background. Keep cards in their original light style. */
.home-info-section{
  background:#E5EEFA !important;
  background-color:#E5EEFA !important;
  background-image:none !important;
}
.home-info-card{
  background:linear-gradient(180deg,#fff,#f8fbfe) !important;
  border-color:var(--border) !important;
  color:inherit !important;
}
.home-info-card h2,
.home-info-card p,
.home-info-card .section-eyebrow,
.home-info-card .lang-en,
.home-info-card .lang-fr{
  color:inherit !important;
}
.home-info-card .section-eyebrow{
  color:var(--blue) !important;
}
.home-info-card .home-info-icon{
  background:var(--blue-light) !important;
  color:var(--blue) !important;
}
.home-info-card .link-arrow{
  color:var(--blue) !important;
}
.home-info-card:after{
  background:var(--blue) !important;
}
.home-info-card:hover{
  box-shadow:0 18px 34px rgba(15,42,74,.10) !important;
}

/* =========================================================
   FINAL STABLE LAYOUT — fixed logo geometry and desktop rail
   The logo keeps the exact same CSS dimensions at every
   resolution/zoom level. The navbar/content rail is fixed on
   desktop so the logo position does not drift with viewport %.
========================================================= */
@media (min-width: 821px){
  :root{
    --site-content-width: 1180px;
  }

  .site-header .navbar{
    width: min(1180px, calc(100vw - 32px)) !important;
    max-width: 1180px !important;
    min-height: 66px !important;
    grid-template-columns: 166px minmax(0, 1fr) 166px !important;
    column-gap: 24px !important;
    padding: 9px 0 !important;
    box-sizing: border-box;
  }

  .site-header .brand{
    width: 166px !important;
    min-width: 166px !important;
    max-width: 166px !important;
    flex: 0 0 166px !important;
    justify-self: start !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-header .brand img{
    display: block !important;
    width: 166px !important;
    min-width: 166px !important;
    max-width: 166px !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
  }

  .site-header .main-nav{
    min-width: 0 !important;
    justify-self: center !important;
  }

  .site-header .main-nav > ul{
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
  }

  .site-header .nav-right{
    width: 166px !important;
    min-width: 166px !important;
    max-width: 166px !important;
    justify-self: end !important;
    margin: 0 !important;
  }
}

/* Keep the logo size fixed on smaller screens too; only the menu
   changes to the compact/mobile interaction. */
@media (max-width: 820px){
  .site-header .brand{
    width: 166px !important;
    min-width: 166px !important;
    max-width: 166px !important;
    flex: 0 0 166px !important;
  }

  .site-header .brand img{
    display: block !important;
    width: 166px !important;
    min-width: 166px !important;
    max-width: 166px !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
  }
}

/* =========================================================
   FINAL NAVBAR ALIGNMENT — compact logo + exact content edges
   The header follows the same desktop content rail as the pages.
   Logo is smaller and its left edge aligns with page text.
   Language toggle is pushed to the exact right edge of the rail.
========================================================= */
@media (min-width: 821px){
  .site-header .navbar{
    width: var(--site-content-width) !important;
    max-width: var(--site-content-width) !important;
    min-height: 58px !important;
    grid-template-columns: 155px minmax(0,1fr) auto !important;
    column-gap: 20px !important;
    padding: 5px 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .site-header .brand{
    width: 155px !important;
    min-width: 155px !important;
    max-width: 155px !important;
    flex: 0 0 155px !important;
    justify-self: start !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-header .brand img{
    display: block !important;
    width: 155px !important;
    min-width: 155px !important;
    max-width: 155px !important;
    height: auto !important;
    max-height: 44px !important;
    object-fit: contain !important;
  }

  .site-header .main-nav{
    min-width: 0 !important;
    justify-self: center !important;
  }

  .site-header .main-nav > ul{
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
  }

  .site-header .nav-right{
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    justify-self: end !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

@media (max-width: 820px){
  .site-header .brand{
    width: 155px !important;
    min-width: 155px !important;
    max-width: 155px !important;
    flex: 0 0 155px !important;
  }

  .site-header .brand img{
    display: block !important;
    width: 155px !important;
    min-width: 155px !important;
    max-width: 155px !important;
    height: auto !important;
    max-height: 44px !important;
    object-fit: contain !important;
  }
}

/* =========================================================
   THERAPEUTIC AREAS — requested color palette
   Section background: #E5EEFA
   Therapeutic cards: #CCDEF6
========================================================= */
.therapeutic-section{
  background: #E5EEFA !important;
}

.therapeutic-card{
  background: #CCDEF6 !important;
  border-color: rgba(15,42,74,.10) !important;
}

.therapeutic-card:hover{
  background: #CCDEF6 !important;
}

/* FINAL OVERRIDE — Therapeutic Areas requested palette */
html body section.therapeutic-section,
html body .therapeutic-section,
html body .therapeutic-areas,
html body .therapeutic-area,
html body .therapeutic-areas-section,
html body .therapeutic-areas-home,
html body .aires-therapeutiques {
  background: #E5EEFA !important;
  background-color: #E5EEFA !important;
}

html body .therapeutic-section .therapeutic-card,
html body .therapeutic-areas .therapeutic-card,
html body .therapeutic-area .therapeutic-card,
html body .aires-therapeutiques .therapeutic-card {
  background: #CCDEF6 !important;
  background-color: #CCDEF6 !important;
}

html body .therapeutic-section .therapeutic-card:hover,
html body .therapeutic-areas .therapeutic-card:hover,
html body .therapeutic-area .therapeutic-card:hover,
html body .aires-therapeutiques .therapeutic-card:hover {
  background: #CCDEF6 !important;
  background-color: #CCDEF6 !important;
}

/* FINAL — Pharmacovigilance page hero eyebrow */
html body .pv-intro-content > .section-eyebrow,
html body .pv-intro-content > .section-eyebrow .lang-en,
html body .pv-intro-content > .section-eyebrow .lang-fr {
  color: #FFFFFF !important;
}

/* ACT Pharma - Therapeutic Areas: white cards only */
.therapeutic-areas .therapeutic-card,.therapeutic-areas .therapy-card,.therapeutic-areas .therapeutic-item,.therapeutic-area-card,.therapy-card { background:#FFFFFF !important; }


/* FINAL FIX: Therapeutic Area cards WHITE; section remains #CCDEF6 */
html body .therapeutic-section .therapeutic-card,
html body .therapeutic-areas .therapeutic-card,
html body .therapeutic-area .therapeutic-card,
html body .aires-therapeutiques .therapeutic-card {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
}
html body .therapeutic-section .therapeutic-card:hover,
html body .therapeutic-areas .therapeutic-card:hover,
html body .therapeutic-area .therapeutic-card:hover,
html body .aires-therapeutiques .therapeutic-card:hover {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
}


/* ============================================================
   BACK-TO-TOP BUTTON — small round arrow, appears after scrolling
============================================================ */
.back-to-top{
  position:fixed;
  right:26px;
  bottom:26px;
  z-index:9999;
  width:52px;
  height:52px;
  padding:0;
  display:grid;
  place-items:center;
  border:2px solid #fff;
  border-radius:50%;
  background:#095AC8;
  color:#fff;
  cursor:pointer;
  box-shadow:0 10px 26px rgba(1,19,48,.35);
  opacity:0;
  visibility:hidden;
  transform:translateY(16px) scale(.9);
  transition:opacity .3s ease, transform .3s ease, visibility .3s, background .2s ease;
}
.back-to-top.show{
  opacity:1;
  visibility:visible;
  transform:none;
}
.back-to-top:hover{
  background:#011330;
  transform:translateY(-4px);
}
.back-to-top:focus-visible{ outline:3px solid #9EACFD; outline-offset:3px; }
@media (max-width:720px){
  .back-to-top{ right:16px; bottom:16px; width:46px; height:46px; }
}
@media (prefers-reduced-motion:reduce){
  .back-to-top{ transition:opacity .01s, visibility .01s; }
}


/* ============================================================
   NAVBAR LINKS — dark blue (same as footer #011330) + wider spacing
   Only the menu links change. Logo and language toggle are NOT touched:
   they keep their own columns/positions.
============================================================ */
html body .site-header .main-nav a,
html body .site-header .main-nav > ul > li > a,
html body .site-header .main-nav > ul > li > a:hover,
html body .site-header .main-nav > ul > li.current-menu-item > a,
html body .site-header .main-nav > ul > li.current_page_item > a,
html body .site-header .main-nav > ul > li.current-menu-ancestor > a,
html body .site-header .main-nav .sub-menu li a,
html body .site-header .main-nav .sub-menu li a:hover{
  color:#011330 !important;
}

/* more space between the links (desktop only; scales down on narrower screens) */
@media (min-width:821px){
  html body .site-header .main-nav > ul{
    gap:clamp(2px, .8vw, 14px) !important;
  }
  html body .site-header .main-nav > ul > li > a{
    padding:10px clamp(9px, 1.35vw, 19px) !important;
  }
}


/* ##########################################################################
   MODERN REFINED DESIGN  —  light, airy, thin typography, very few borders
   Palette: navy #011330 · blue #095AC8 · sky #4A86D7 · teal #1381B0 ·
            lilac #9EACFD · mist #F4F8FF / #EAF1FC · white
   Fonts:   Jost (thin geometric, headings/menu/buttons) + Inter (text)
########################################################################## */
:root{
  --ink:#011330;
  --ink-soft:#33466a;
  --ink-mute:#5a6a86;
  --blue:#095AC8;
  --sky:#4A86D7;
  --teal:#1381B0;
  --lilac:#9EACFD;
  --mist:#F4F8FF;
  --mist-2:#EAF1FC;
  --hdr-h:75px;
  --soft-shadow:0 1px 2px rgba(1,19,48,.04), 0 18px 40px -18px rgba(1,19,48,.14);
  --soft-shadow-hover:0 2px 4px rgba(1,19,48,.05), 0 28px 54px -20px rgba(9,90,200,.26);
}

/* ---------- 1. TYPOGRAPHY ---------- */
html body{
  font-family:'Inter','Helvetica Neue',Arial,sans-serif;
  font-weight:400;
  color:var(--ink-soft);
  line-height:1.75;
  letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
html body h1, html body h2, html body h3, html body h4, html body h5,
html body .section-title,
html body .hero h1, html body .hero-welcome h1, html body .acting-life,
html body .pv-intro-content h1, html body .adverse-hero h1,
html body .act-product-title,
html body .woocommerce ul.products li.product h2,
html body .related.products h2,
html body .woocommerce div.product .product_title,
html body .activity-card h2, html body .activity-card h3,
html body .therapeutic-card h3{
  font-family:'Jost','Poppins','Helvetica Neue',Arial,sans-serif !important;
  font-weight:300 !important;
  letter-spacing:-.02em;
  line-height:1.12;
  color:var(--ink);
}
html body h3, html body h4, html body .activity-card h2, html body .activity-card h3,
html body .therapeutic-card h3, html body .home-info-card h2{ font-weight:400 !important; letter-spacing:-.01em; }
html body .section-title{ font-size:clamp(2.1rem,3.6vw,3.2rem); margin-bottom:.45em; }
html body .section-title::after, html body .section-title:after{ display:none !important; }

html body .section-eyebrow, html body .eyebrow, html body .adverse-kicker, html body .adverse-mini-label{
  font-family:'Jost','Poppins',sans-serif !important;
  font-weight:500;
  font-size:.74rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--blue);
}
html body p{ font-weight:400; }
html body .section p, html body .home-info-card p, html body .activity-card p{ font-weight:300; color:var(--ink-soft); font-size:1.02rem; }

/* ---------- 2. NAVBAR: translucent + blur (positions unchanged) ---------- */
html body .site-header{
  position:sticky; top:0; z-index:1000;
  background:rgba(255,255,255,.52) !important;
  -webkit-backdrop-filter:blur(22px) saturate(170%);
  backdrop-filter:blur(22px) saturate(170%);
  border-bottom:1px solid rgba(255,255,255,.55) !important;
  box-shadow:0 8px 30px -18px rgba(1,19,48,.18) !important;
}
/* on the home page the header floats over the hero */
body.home .site-header{ margin-bottom:calc(var(--hdr-h) * -1); }

html body .site-header .main-nav a,
html body .site-header .main-nav > ul > li > a{
  font-family:'Jost','Poppins',sans-serif !important;
  font-weight:400 !important;
  font-size:.98rem !important;
  letter-spacing:.015em;
}
html body .site-header .main-nav > ul > li > a:hover,
html body .site-header .main-nav > ul > li.current-menu-item > a,
html body .site-header .main-nav > ul > li.current_page_item > a{
  background:rgba(9,90,200,.08) !important;
}
html body .site-header .main-nav .sub-menu{
  background:rgba(255,255,255,.82);
  -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px);
  border:0 !important; border-radius:18px !important;
  box-shadow:0 24px 50px -20px rgba(1,19,48,.28) !important;
}
html body .site-header .lang-toggle{
  background:rgba(255,255,255,.55) !important;
  border:1px solid rgba(1,19,48,.08) !important;
}

/* ---------- 3. HERO ---------- */
html body .hero-welcome{
  position:relative; isolation:isolate; overflow:hidden;
  min-height:min(100vh,860px);
  display:flex; align-items:center;
  padding:var(--hdr-h) 0 0;
  background:linear-gradient(180deg,#FFFFFF 0%,var(--mist) 62%,#FFFFFF 100%) !important;
  border-radius:0 !important;
  animation:none !important;
}
html body .hero-welcome::before{ display:none !important; }

/* soft colored light — very slow, very subtle */
.hero-bg{ position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.hero-bg .blob{ position:absolute; border-radius:50%; will-change:transform; }
.hero-bg .b1{ width:62vmax; height:62vmax; top:-32%; left:-14%;
  background:radial-gradient(circle,rgba(158,172,253,.55) 0,rgba(158,172,253,0) 64%); animation:heroDrift1 46s ease-in-out infinite alternate; }
.hero-bg .b2{ width:58vmax; height:58vmax; top:-24%; right:-20%;
  background:radial-gradient(circle,rgba(74,134,215,.38) 0,rgba(74,134,215,0) 64%); animation:heroDrift2 54s ease-in-out infinite alternate; }
.hero-bg .b3{ width:52vmax; height:52vmax; bottom:-38%; left:30%;
  background:radial-gradient(circle,rgba(19,129,176,.22) 0,rgba(19,129,176,0) 64%); animation:heroDrift3 60s ease-in-out infinite alternate; }
.hero-bg .b4, .hero-bg .b5, .hero-bg .b6{ display:none; }
@keyframes heroDrift1{ from{transform:translate(0,0)} to{transform:translate(9vw,7vh)} }
@keyframes heroDrift2{ from{transform:translate(0,0)} to{transform:translate(-8vw,9vh)} }
@keyframes heroDrift3{ from{transform:translate(0,0)} to{transform:translate(-7vw,-6vh)} }

html body .hero-welcome .container.hero-split{
  width:min(var(--site-content-width,1180px),92vw);
  max-width:none;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:clamp(40px,6vw,96px);
  align-items:center;
  padding:56px 0 96px;
}
html body .hero-left.welcome-content{ padding:0; max-width:640px; animation:none; }
html body .hero-right{ position:relative; display:flex; justify-content:center; }

html body .acting-life{
  font-size:clamp(2.7rem,5.4vw,5rem);
  line-height:1.04;
  margin:0 0 28px;
}
html body .hero-welcome .acting-life-typing{
  display:inline;
  color:transparent;
  background:linear-gradient(100deg,var(--ink) 15%,var(--blue) 95%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:none;
  font-size:inherit;
}
html body .hero-welcome .welcome-lead{
  font-size:1.2rem; font-weight:300; line-height:1.7;
  color:var(--ink-soft); max-width:560px; margin:0 0 14px;
}
html body .hero-welcome .welcome-sub{
  font-size:.98rem; font-weight:300; line-height:1.75;
  color:var(--ink-mute); max-width:540px; margin:0 0 38px;
}
html body .hero-welcome .welcome-btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 34px;
  font-family:'Jost','Poppins',sans-serif; font-weight:500; font-size:.98rem; letter-spacing:.03em;
  color:#fff; background:var(--blue); border:0;
  border-radius:999px;
  box-shadow:0 18px 34px -14px rgba(9,90,200,.6);
  transition:background .25s ease, transform .25s ease, box-shadow .25s ease;
}
html body .hero-welcome .welcome-btn:hover{
  background:var(--ink); color:#fff; transform:translateY(-2px);
  box-shadow:0 22px 40px -16px rgba(1,19,48,.55);
}

/* photo slot: no border, soft shadow, tinted shape behind it */
html body .hero-photo{
  position:relative; width:100%; max-width:500px; aspect-ratio:4/4.5;
  border:0 !important; border-radius:34px;
  background:var(--mist-2);
  box-shadow:0 50px 90px -42px rgba(1,19,48,.5);
  animation:none !important;
}
html body .hero-photo::before{
  content:""; position:absolute; z-index:-1;
  width:72%; height:72%; right:-7%; bottom:-7%;
  inset:auto -7% -7% auto;
  border:0 !important; border-radius:40px;
  background:linear-gradient(135deg,var(--lilac),var(--sky));
  opacity:.38;
}
html body .hero-photo img{ width:100%; height:100%; object-fit:cover; border-radius:34px; display:block; }


/* spans inside headings (EN/FR switch, hero title) must follow the thin heading style */
html body :is(h1,h2,h3,h4) span,
html body .hero-welcome .acting-life-typing{ font-family:inherit !important; font-weight:inherit !important; letter-spacing:inherit; }

/* hero: soft fade into the next white section (no hard edge) */
html body .hero-welcome::after{
  display:block !important; content:""; position:absolute; left:0; right:0; bottom:0; height:160px; z-index:-1;
  background:linear-gradient(180deg,rgba(255,255,255,0),#fff); pointer-events:none;
}

/* ---------- 4. CARDS & BLOCKS: no borders, soft shadows ---------- */
html body .home-info-card, html body .activity-card, html body .therapeutic-card,
html body .card, html body .shop-card, html body .contact-form-box, html body .pv-form-box,
html body .act-product-image{
  border:0 !important;
  border-radius:24px !important;
  box-shadow:var(--soft-shadow) !important;
}
html body .home-info-card:hover, html body .activity-card:hover, html body .therapeutic-card:hover,
html body .card:hover{
  transform:translateY(-3px) !important;
  box-shadow:var(--soft-shadow-hover) !important;
}
html body .home-info-card:after, html body .home-info-card::after{ display:none !important; }
html body .home-info-icon, html body .activity-icon, html body .info-item .icon{
  background:var(--mist-2) !important; color:var(--blue) !important; border:0 !important;
}
html body .link-arrow{ font-family:'Jost','Poppins',sans-serif; font-weight:500; color:var(--blue) !important; border:0 !important; }
html body .tag{ font-family:'Jost','Poppins',sans-serif; font-weight:500; letter-spacing:.1em; background:var(--mist-2); color:var(--blue); border:0; }

/* ---------- 5. BUTTONS (everywhere) ---------- */
html body .btn, html body .activities-more-btn, html body .pv-report-btn, html body .shop-card-btn,
html body .gform_wrapper .gform_button, html body .gform_wrapper input[type=submit]{
  font-family:'Jost','Poppins',sans-serif !important; font-weight:500 !important; letter-spacing:.03em;
  border-radius:999px !important;
  box-shadow:none;
}
html body .btn.outline{ background:transparent; color:var(--blue); border:1.5px solid rgba(9,90,200,.35); }
html body .btn.outline:hover{ background:var(--blue); color:#fff; border-color:var(--blue); }

/* ---------- 6. FORMS: light fields ---------- */
html body .gform_wrapper input[type=text], html body .gform_wrapper input[type=email],
html body .gform_wrapper input[type=tel], html body .gform_wrapper textarea, html body .gform_wrapper select{
  border:1px solid rgba(1,19,48,.12) !important;
  border-radius:14px !important;
  background:#fff !important;
  font-weight:300;
}
html body .gform_wrapper input:focus, html body .gform_wrapper textarea:focus{
  border-color:var(--blue) !important; box-shadow:0 0 0 4px rgba(9,90,200,.12) !important; outline:none;
}

/* ---------- 7. FOOTER typography ---------- */
html body .site-footer h4{ font-family:'Jost','Poppins',sans-serif !important; font-weight:400 !important; font-size:.9rem; letter-spacing:.18em; text-transform:uppercase; }
html body .site-footer p, html body .site-footer li{ font-weight:300; }

/* ---------- 8. CALMER MOTION ---------- */
.reveal{ transform:translateY(10px) !important; transition:opacity .7s ease, transform .7s ease !important; }
.reveal.in-view{ transform:none !important; }

/* ---------- 9. RESPONSIVE ---------- */
@media (max-width:900px){
  html body .hero-welcome{ min-height:0; }
  html body .hero-welcome .container.hero-split{ grid-template-columns:1fr; gap:48px; padding:40px 0 72px; }
  html body .hero-left.welcome-content{ max-width:none; }
  html body .hero-photo{ max-width:440px; aspect-ratio:4/3.6; margin:0 auto; }
}
@media (prefers-reduced-motion:reduce){
  .hero-bg .blob{ animation:none !important; }
  .reveal{ transform:none !important; transition:none !important; }
}

/* ---------- 10. LAST BORDERS REMOVED ---------- */
html body .split .media{
  height:auto; min-height:300px; padding:0 !important;
  background:var(--mist-2) !important;
  border:0 !important; border-radius:28px !important;
  box-shadow:var(--soft-shadow) !important;
}
html body .split .media img{ height:100%; min-height:300px; border-radius:28px !important; object-fit:cover; }
html body .section.alt{ background:var(--mist) !important; }
html body .activities-more-btn{ border:0 !important; background:var(--blue); color:#fff; }
html body .activities-more-btn:hover{ background:var(--ink); color:#fff; }
html body .contact-map{ border:0 !important; border-radius:24px !important; overflow:hidden; box-shadow:var(--soft-shadow); }
html body .therapeutic-page-hero{ border:0 !important; background:var(--mist) !important; }

@media (max-width:820px){ :root{ --hdr-h:55px; } }


/* ---------- 11. DARK HEADER CARDS: text must be WHITE ---------- */
html body .pv-intro-card,
html body .pv-intro-content,
html body .pv-intro-content h1,
html body .pv-intro-content h1 span,
html body .pv-intro-content .section-eyebrow,
html body .pv-intro-content .section-eyebrow span,
html body .section .pv-copy,
html body .section .pv-copy p,
html body .section .pv-copy p span,
html body .adverse-hero,
html body .adverse-hero h1,
html body .adverse-hero h1 span,
html body .adverse-hero p,
html body .adverse-hero p span,
html body .adverse-hero .adverse-kicker,
html body .adverse-hero .adverse-kicker span,
html body .adverse-hero-badge span{
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}
html body .section .pv-copy p, html body .adverse-hero p{ font-weight:300; opacity:.96; }
html body .pv-intro-icon svg{ stroke:#FFFFFF; }
html body .pv-intro-content h1:before, html body .pv-intro-content h1::before,
html body .pv-intro-content .section-eyebrow:before, html body .pv-intro-content .section-eyebrow::before,
html body .adverse-hero .adverse-kicker:before{ background:#FFFFFF !important; border-color:#FFFFFF !important; opacity:.9; }


/* ---------- 12. THERAPEUTIC + ACTIVITIES: no numbers, no corner circle ---------- */
html body .therapeutic-card:before, html body .therapeutic-card::before,
html body .therapeutic-card:after,  html body .therapeutic-card::after,
html body .therapeutic-section .therapeutic-card:before,
html body .therapeutic-section .therapeutic-card:after,
html body .therapeutic-areas .therapeutic-card:before,
html body .therapeutic-areas .therapeutic-card:after,
html body .therapeutic-area .therapeutic-card:before,
html body .therapeutic-area .therapeutic-card:after,
html body .aires-therapeutiques .therapeutic-card:before,
html body .aires-therapeutiques .therapeutic-card:after{
  content:none !important;
  display:none !important;
}
html body .therapeutic-number,
html body .therapeutic-section .therapeutic-number,
html body .activity-number,
html body .activity-card .activity-number{
  display:none !important;
}
html body .activity-card:before, html body .activity-card::before,
html body .activity-card:after,  html body .activity-card::after{
  content:none !important;
  display:none !important;
}
