/*
Theme Name: MEDLABS RESEARCH
Description: Restrained research catalogue design for a private development site.
Template: storefront
Version: 0.1.0
Text Domain: medlabs-research
*/
:root { --med-black:#111417; --med-ink:#20262b; --med-muted:#667078; --med-line:#e3e8ea; --med-bg:#f5f7f7; }
body, button, input, textarea, select { font-family: "Helvetica Neue",Arial,sans-serif; }
body {color:var(--med-ink);background:#fff;letter-spacing:.005em;}
.site-header {background:white!important;border-bottom:1px solid var(--med-line);padding:16px 0 4px!important;margin-bottom:0!important;}
.site-header .col-full {max-width:1280px;}
.site-branding {margin:0 0 16px!important;}
.site-branding .site-title {margin:0!important;line-height:1!important;font-size:clamp(1.7rem,3vw,2.5rem)!important;font-weight:800!important;letter-spacing:.075em;}
.site-branding .site-title a {color:var(--med-black)!important;text-decoration:none!important;}
.site-branding .site-description {display:block!important;margin:4px 0 0!important;color:var(--med-black)!important;font-size:9px!important;font-weight:700!important;letter-spacing:2.6em!important;white-space:nowrap!important;line-height:1.7!important;}
.storefront-primary-navigation {background:transparent!important;clear:both;}
.main-navigation ul.menu>li>a,.main-navigation ul.nav-menu>li>a {padding:1.2em 1.25em!important;color:var(--med-ink)!important;font-size:12px!important;font-weight:700;text-transform:uppercase;letter-spacing:.12em;}
.main-navigation ul.menu>li.current-menu-item>a,.main-navigation ul.menu>li>a:hover{color:#74868e!important;}
.site-header .site-search,.site-header-cart,.woocommerce-store-notice {display:none!important;}
.hentry .entry-header {border:0;}
.entry-title,.woocommerce-products-header__title,.page-title {font-weight:600!important;letter-spacing:-.025em!important;color:var(--med-black)!important;}
.site-content .col-full {max-width:1200px;}
.content-area,.widget-area {margin-bottom:0;}
.site-main{padding-top:32px;}
.med-hero{min-height:440px;padding:90px 8%;display:flex;align-items:center;background:linear-gradient(115deg,#edf1f1,#f8f9f9 70%);border:1px solid var(--med-line);}
.med-hero-content{max-width:680px;}
.med-eyebrow{font-size:11px!important;letter-spacing:.32em!important;text-transform:uppercase;font-weight:800;color:#667781!important;}
.med-hero h1{font-size:clamp(43px,6vw,74px)!important;letter-spacing:-.06em!important;line-height:1.04!important;font-weight:600!important;margin:16px 0 24px!important;color:var(--med-black)!important;}
.med-hero p{font-size:17px;max-width:490px;color:#53616b;line-height:1.75;}
.med-button,.button.med-button{display:inline-block;border:1px solid #20262b;background:#20262b;color:white!important;border-radius:0!important;padding:13px 24px!important;font-size:12px!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none!important;transition:.15s ease;}
.med-button:hover{background:white;color:#20262b!important;}
.med-button.ghost{background:transparent;color:#20262b!important;margin-left:10px;}
.med-button.ghost:hover{background:#20262b;color:white!important;}
.med-section{padding:70px 0;}
.med-section h2{font-size:clamp(27px,3.2vw,42px);letter-spacing:-.04em;font-weight:600;color:var(--med-black);}
.med-split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;}
.med-feature-panel{border:1px solid var(--med-line);background:#f8fafa;padding:60px 45px;min-height:240px;display:flex;flex-direction:column;justify-content:center;}
.med-feature-panel strong{font-size:24px;letter-spacing:.09em;color:var(--med-black);}
.med-feature-panel span{letter-spacing:.33em;font-size:10px;margin-top:10px;font-weight:700;color:#5f6f79;}
.med-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:32px;}
.med-step{padding:32px;border:1px solid var(--med-line);background:white;}
.med-step .num{font-size:11px;font-weight:800;letter-spacing:.25em;color:#819198;}
.med-step h3{margin:22px 0 12px;font-size:18px;font-weight:600;color:#222a30;}
.med-step p{font-size:14px;line-height:1.7;color:#68757e;margin:0;}
.med-notice{background:#edf1f2;border-left:3px solid #263641;color:#40505a;padding:18px 22px;font-size:13px;line-height:1.65;margin:28px 0;}
.med-heading-rule{border-top:1px solid var(--med-line);padding-top:24px;}
.site-footer{background:#111619!important;color:#dce3e6!important;padding:45px 0 30px!important;}
.site-footer a{color:#dce3e6!important;}
.site-footer .med-footer-row{display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap;}
.med-footer-brand{font-weight:800;font-size:20px;letter-spacing:.11em;}
.med-footer-sub{display:block;font-size:8px;letter-spacing:.45em;font-weight:700;margin-top:3px;}
.med-footer-small{font-size:12px;color:#aab7bd!important;}
.woocommerce ul.products li.product img{border:1px solid var(--med-line);}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-weight:700;font-size:17px;}
.woocommerce-message,.woocommerce-info{border-top-color:#667781!important;}
.med-pagecopy{max-width:780px;margin:0 auto 80px;color:#46545d;line-height:1.8;}
.med-pagecopy h2{font-size:25px;color:#20262b;}
.med-pagecopy p{margin-bottom:23px;}
@media(min-width:769px){.site-header .col-full{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:30px}.storefront-primary-navigation{flex:1;text-align:right}.main-navigation{width:100%;text-align:right}.main-navigation ul.menu>li:last-child>a{padding-right:0!important}}
@media(max-width:768px){.med-hero{padding:62px 25px;min-height:340px}.med-split,.med-steps{grid-template-columns:1fr;gap:18px}.med-section{padding:45px 0}.med-feature-panel{min-height:160px;padding:35px}.med-button.ghost{margin:10px 0 0}.site-branding{text-align:center}.site-header{padding-bottom:12px!important}}

/* Mobile overflow and tap target repairs */
@media (max-width: 768px) {
  .site-header .col-full, .site-content .col-full { max-width:100%; padding-left:20px; padding-right:20px; box-sizing:border-box; }
  .med-hero { width:100%;min-width:0;box-sizing:border-box;padding:42px 22px; }
  .med-hero-content { min-width:0;width:100%;max-width:100%; }
  .med-hero h1 {font-size:clamp(37px,9vw,56px)!important; overflow-wrap:break-word;}
  .med-hero p{font-size:15px;max-width:100%;overflow-wrap:break-word;}
  .med-button, .med-button.ghost {display:block;max-width:100%;width:100%;text-align:center;margin:0 0 10px!important;box-sizing:border-box;}
  .med-split, .med-steps{grid-template-columns:minmax(0,1fr);}
  .med-split > *, .med-steps > *{min-width:0;}
  .med-section h2{overflow-wrap:break-word;font-size:clamp(26px,7vw,35px);}
  .site-branding .site-title {font-size:28px!important;}
  .site-branding .site-description {font-size:8px!important;letter-spacing:2.7em!important;}
  .storefront-handheld-footer-bar{display:none!important;}
}
/* MEDLABS single-column layout: hide legacy WordPress blog widgets. */
.widget-area { display:none!important; }
@media (min-width:769px) {
  .content-area { width:100%!important;max-width:100%!important;float:none!important;margin-right:0!important; }
}


/* EDITABLE GUTENBERG + WOOCOMMERCE LAYOUT */
.med-front-main{padding-top:20px!important}
.med-full-width{float:none!important;width:100%!important;margin:0!important}
.med-full-width .med-hero>.wp-block-group,.med-full-width .med-hero-content{max-width:680px;margin:0}
.med-front-main .med-hero{margin:0;box-sizing:border-box}
.med-front-main .med-hero h1{font-size:clamp(42px,5.6vw,68px)!important;letter-spacing:-.045em!important;line-height:1.1!important;font-weight:600}
.med-front-main .med-hero p{max-width:540px}
.med-front-main .med-hero .wp-block-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.med-front-main .med-hero .wp-block-button.med-button,.med-front-main .med-hero .wp-block-button.med-button.ghost{width:auto;display:inline-block;background:transparent;border:0;padding:0!important;margin:0!important}
.med-front-main .med-hero .wp-block-button.med-button .wp-block-button__link{display:inline-flex;background:var(--med-black);color:#fff!important;border:1px solid var(--med-black);padding:15px 22px;border-radius:0;font-size:11px;font-weight:800;letter-spacing:.12em;text-decoration:none}
.med-front-main .med-hero .wp-block-button.med-button.ghost .wp-block-button__link{background:transparent;color:var(--med-black)!important}
.med-front-main .med-hero .wp-block-button.med-button:hover .wp-block-button__link{background:#4a5a62}
.med-front-main .med-hero .wp-block-button.med-button.ghost:hover .wp-block-button__link{background:var(--med-black);color:#fff!important}
.med-front-main .med-split{display:grid;max-width:100%;grid-template-columns:1fr 1fr}
.med-front-main .med-split>div,.med-front-main .med-steps>div{min-width:0}
.med-front-main .med-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.med-front-main .med-step{padding:30px!important}
.med-front-main .med-step h3{font-size:19px}
.med-front-main .med-feature-panel{max-width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start}
.med-feature-panel h3{letter-spacing:.12em;font-size:26px;margin:0!important}
.med-pagecopy{max-width:860px!important;margin:28px auto 80px!important}
.med-pagecopy h1{font-size:clamp(34px,4vw,54px);letter-spacing:-.04em;font-weight:600}
.med-pagecopy h2{font-size:25px}
.med-pagecopy a{text-decoration:underline}
.med-faq-page{max-width:900px}
.med-faq-page>p{margin-bottom:32px}
.med-faq-item{border-top:1px solid var(--med-line)!important;padding:0;margin:0!important}
.med-faq-item:last-child{border-bottom:1px solid var(--med-line)!important}
.med-faq-item summary{display:flex!important;align-items:center;justify-content:space-between;gap:22px;padding:24px 8px!important;list-style:none;cursor:pointer;font-size:17px;font-weight:700;color:var(--med-black);outline-offset:4px}
.med-faq-item summary::-webkit-details-marker{display:none}
.med-faq-item summary::marker{content:""}
.med-faq-item summary::after{content:"";display:block;flex:0 0 10px;width:10px;height:10px;border-right:2px solid #30454f;border-bottom:2px solid #30454f;transform:rotate(45deg);transition:transform .18s ease}
.med-faq-item[open] summary::after{transform:translateY(4px) rotate(225deg)}
.med-faq-item[open] summary{color:#40565e}
.med-faq-item>p{padding:0 50px 24px 8px;margin:0!important;color:#607079;line-height:1.85;font-size:15px}
.med-faq-item summary:focus-visible{outline:2px solid #40565e}
.med-contact-page{max-width:800px}
.med-contact-pending{border:1px solid var(--med-line);background:#f7f9f9;padding:30px;color:#5d6a72}
.site-footer{margin-top:65px!important;padding:55px 0 23px!important;background:#131a1e!important}
.site-footer .med-footer-row{align-items:flex-start}
.med-footer-identity{max-width:370px}
.med-footer-identity .med-footer-small{line-height:1.7;margin:17px 0}
.med-footer-navigation{display:flex;flex-direction:column;align-items:flex-end}
.site-footer ul.med-footer-links,.site-footer ul.med-footer-legal{list-style:none;display:flex;flex-wrap:wrap;gap:10px 22px;margin:0;padding:0}
.site-footer ul.med-footer-legal{margin-top:16px}
.site-footer .med-footer-navigation a{color:#dce3e6!important;font-size:12px;letter-spacing:.04em;text-decoration:none}
.site-footer .med-footer-navigation a:hover{text-decoration:underline}
.med-footer-base{border-top:1px solid #37434a;margin-top:37px;padding-top:21px;display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;font-size:11px;color:#a3b0b7}
.med-footer-base a{color:#dce3e6}
.storefront-handheld-footer-bar{display:none!important}
.woocommerce ul.products li.product a.button,.woocommerce .single_add_to_cart_button{border-radius:0}
@media(max-width:768px){
  .med-front-main .med-hero{padding:45px 22px;min-height:0}
  .med-front-main .med-hero h1{font-size:clamp(37px,9vw,53px)!important}
  .med-front-main .med-hero .wp-block-buttons{display:block;width:100%}
  .med-front-main .med-hero .wp-block-button.med-button,.med-front-main .med-hero .wp-block-button.med-button.ghost{display:block;width:100%;margin-bottom:10px!important}
  .med-front-main .med-hero .wp-block-button.med-button .wp-block-button__link{width:100%;display:block;box-sizing:border-box;text-align:center}
  .med-front-main .med-split,.med-front-main .med-steps{display:grid;grid-template-columns:1fr!important;gap:20px}
  .med-pagecopy{margin:18px 6px 55px!important}
  .med-faq-item summary{font-size:15px;padding:20px 4px!important}
  .med-faq-item>p{padding:0 18px 22px 4px;font-size:14px}
  .med-footer-navigation{align-items:flex-start;width:100%}
  .site-footer .med-footer-row{display:block}
  .med-footer-base{display:block}
}

/* HIDE DUPLICATE PAGE TITLES. Page heading lives in editable Gutenberg content. */
body.page .hentry .entry-header { display:none!important; }
body.page .hentry .entry-content { padding-top:0!important; }
body.page .site-main { padding-top:12px!important; }
body.page .med-pagecopy { margin-top:16px!important; }
.med-faq-item summary::after {
  content:""!important;
  width:10px!important;height:10px!important;
  border-top:0!important;border-left:0!important;
  border-right:2px solid #30454f!important;
  border-bottom:2px solid #30454f!important;
  border-radius:0!important;
  transform:rotate(45deg)!important;
}
.med-faq-item[open] summary::after{ transform:translateY(4px) rotate(225deg)!important; }