/*
Theme Name: Ramguiflex Panamá
Description: Tema oficial de Ramguiflex Panamá para su tienda y catálogo en línea.
Version: 2.0.16
Requires at least: 6.7
Requires PHP: 8.2
Text Domain: ramguiflex-panama
*/

:root { --ram-blue:#285f9c; --ram-blue-dark:#174b7e; --ram-green:#88c442; --ram-green-dark:#70aa30; --ram-ink:#242424; --ram-muted:#6c7178; --ram-soft:#f4f6f8; --ram-line:#e7eaed; --ram-max:1180px; --ram-radius:18px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ram-ink); font-family:Montserrat,Arial,sans-serif; }
a { color:var(--ram-blue); text-decoration:none; }
img { max-width:100%; height:auto; }
button,input,select,textarea { font:inherit; }
.col-full { width:min(calc(100% - 40px),var(--ram-max)); margin-inline:auto; }
.site-content { min-height:50vh; }
.site-main>article>.entry-header { display:none; }
.entry-content { width:100%; }

.topbar-wrapper { display:none; }
.site-header { position:sticky; z-index:90; top:0; background:rgba(255,255,255,.97); border-bottom:1px solid var(--ram-line); backdrop-filter:blur(12px); }
.main-header { display:grid!important; width:min(calc(100% - 40px),var(--ram-max))!important; grid-template-columns:195px minmax(0,1fr) 220px 42px; gap:20px; align-items:center; min-height:88px; }
.site-branding { grid-column:1!important; }
.site-branding .custom-logo { width:auto; max-width:194px; max-height:62px; }
.site-search { order:initial!important; grid-column:3; width:220px!important; margin:0!important; }
.site-search .woocommerce-product-search { display:flex; border-bottom:1px solid #bfc4c8; }
.site-search .search-field { width:100%; min-height:40px; padding:8px 6px; border:0; outline:0; background:transparent; font-size:13px; }
.site-search button { width:40px; overflow:hidden; border:0; background:transparent; color:var(--ram-blue); font-size:0; }
.site-search button::after { content:"⌕"; font-size:25px; line-height:1; }
.secondary-navigation { display:none; }
.col-full-nav { position:static; z-index:auto; grid-column:2; width:100%; transform:none; background:transparent!important; pointer-events:auto; }
.shoptimizer-primary-navigation { width:100%; }
.secondary-navigation ul,.main-navigation ul,.site-header-cart { list-style:none; margin:0; padding:0; }
.main-navigation { pointer-events:auto; }
.main-navigation .menu { display:flex; justify-content:center; align-items:stretch; }
.main-navigation .menu>li { position:relative; }
.main-navigation .menu>li>a { display:block; padding:30px 8px; color:#111; font-size:11px; font-weight:600; text-transform:uppercase; white-space:nowrap; }
.main-navigation .menu>li>a:hover { color:var(--ram-green-dark); }
.main-navigation .sub-menu { display:none; position:absolute; z-index:95; top:75px; left:0; min-width:260px; padding:10px 0; background:#fff; border-radius:0 0 10px 10px; box-shadow:0 18px 40px rgba(0,0,0,.13); }
.main-navigation li:hover>.sub-menu { display:block; }
.main-navigation .sub-menu a { display:block; padding:11px 18px; color:#333; font-size:13px; }
.main-header>.site-header-cart { display:block!important; grid-column:4; }
.col-full-nav .site-header-cart { display:none; }
.site-header-cart a { position:relative; display:flex; align-items:center; gap:8px; color:var(--ram-green-dark); font-weight:600; }
.site-header-cart .amount { display:none; }
.site-header-cart svg { width:27px; height:27px; }
.mini-count { display:inline-grid; place-items:center; min-width:19px; height:19px; padding:0 5px; border-radius:20px; background:var(--ram-green); color:#fff; font-size:11px; }
.main-header .mini-count { position:absolute!important; top:-7px!important; right:-9px!important; }
.menu-toggle { display:none; }

.rg-home { overflow:hidden; }
.rg-hero { padding:0 20px 34px; }
.rg-hero-slider { position:relative; width:min(1120px,100%); aspect-ratio:2.275/1; margin:0 auto; overflow:hidden; background:#eef2f4; }
.rg-hero-slide { position:absolute; inset:0; display:block; opacity:0; background-position:center; background-repeat:no-repeat; background-size:cover; transition:opacity .55s ease; }
.rg-hero-slide.is-active { opacity:1; }
.rg-section { padding:66px 0; }
.rg-section--soft { background:var(--ram-soft); }
.rg-eyebrow { margin:0 0 8px; color:var(--ram-green-dark); font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.rg-title { max-width:780px; margin:0; color:var(--ram-blue); font-size:clamp(30px,4vw,52px); font-weight:800; line-height:1.04; letter-spacing:-.035em; }
.rg-title--center { margin-inline:auto; text-align:center; }
.rg-intro { display:flex; justify-content:space-between; gap:35px; align-items:end; margin-bottom:34px; }
.rg-intro p { max-width:480px; margin:0; color:var(--ram-muted); line-height:1.75; }
.rg-btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 25px; border-radius:999px; background:var(--ram-green); color:#fff; font-size:13px; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }
.rg-btn:hover { background:var(--ram-green-dark); color:#fff; transform:translateY(-1px); }
.rg-btn--outline { border:2px solid var(--ram-blue); background:transparent; color:var(--ram-blue); }

.rg-products ul.products,.woocommerce ul.products { display:grid; width:100%; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin:0; padding:0; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { position:relative; width:auto!important; margin:0!important; padding:16px 16px 20px; overflow:hidden; background:#fff; border:1px solid var(--ram-line); border-radius:16px; text-align:left; transition:transform .25s ease,box-shadow .25s ease; }
.woocommerce ul.products li.product:hover { transform:translateY(-5px); box-shadow:0 18px 36px rgba(32,59,88,.12); }
.woocommerce-image__wrapper { aspect-ratio:1.28/1; display:grid; place-items:center; overflow:hidden; margin:-16px -16px 15px; background:#fff; }
.woocommerce ul.products li.product img { width:100%; height:100%; margin:0!important; object-fit:contain; transition:transform .3s ease; }
.woocommerce ul.products li.product:hover img { transform:scale(1.035); }
.woocommerce ul.products li.product .product__categories { margin:0 0 7px; color:var(--ram-green-dark); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height:47px; margin:0; padding:0; font-size:15px; font-weight:700; line-height:1.45; }
.woocommerce ul.products li.product .woocommerce-loop-product__title a { color:var(--ram-ink); }
.woocommerce ul.products li.product .price { display:block; margin:10px 0 14px; color:var(--ram-green-dark); font-size:16px; font-weight:800; }
.woocommerce ul.products li.product .button { display:flex!important; align-items:center!important; justify-content:center!important; width:100%; min-height:40px; margin:0; padding:8px 12px!important; border:0; border-radius:999px; background:var(--ram-green); color:#fff; font-size:11px; font-weight:800; line-height:1.2!important; text-align:center; }
.woocommerce ul.products li.product .added_to_cart.wc-forward {
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:38px;
  margin:8px 0 0;
  padding:7px 12px!important;
  border:1px solid var(--ram-blue);
  border-radius:999px;
  background:#fff!important;
  color:var(--ram-blue)!important;
  font-size:11px;
  font-weight:800;
  line-height:1.2;
  text-align:center;
  text-transform:uppercase;
}
.woocommerce ul.products li.product .added_to_cart.wc-forward:hover,
.woocommerce ul.products li.product .added_to_cart.wc-forward:focus {
  background:var(--ram-blue)!important;
  color:#fff!important;
}

.rg-categories { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:35px; }
.rg-category { position:relative; min-height:390px; overflow:hidden; border-radius:var(--ram-radius); background:#dfe5e9; }
.rg-category img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.rg-category:hover img { transform:scale(1.045); }
.rg-category::after { content:""; position:absolute; inset:38% 0 0; background:linear-gradient(transparent,rgba(9,34,57,.87)); }
.rg-category__copy { position:absolute; z-index:2; right:25px; bottom:24px; left:25px; color:#fff; }
.rg-category__copy h3 { margin:0 0 7px; color:#fff; font-size:26px; }
.rg-category__copy span { color:#d9efa7; font-size:12px; font-weight:800; text-transform:uppercase; }

.rg-split { display:grid; grid-template-columns:1.08fr .92fr; min-height:510px; overflow:hidden; border-radius:24px; background:var(--ram-blue); color:#fff; }
.rg-split__image { min-height:460px; background-position:center; background-size:cover; }
.rg-split__copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(38px,6vw,78px); }
.rg-split__copy .rg-eyebrow { color:#c5eb8f; }
.rg-split__copy h2 { margin:0 0 20px; color:#fff; font-size:clamp(31px,4vw,50px); line-height:1.05; }
.rg-split__copy p { margin:0 0 28px; color:rgba(255,255,255,.82); line-height:1.75; }
.rg-split__copy .rg-btn { align-self:flex-start; }

.rg-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; overflow:hidden; border:1px solid var(--ram-line); border-radius:18px; background:var(--ram-line); }
.rg-benefit { padding:35px; background:#fff; text-align:center; }
.rg-benefit__icon { display:grid; place-items:center; width:58px; height:58px; margin:0 auto 17px; border-radius:50%; background:#edf7e2; color:var(--ram-green-dark); font-size:27px; }
.rg-benefit h3 { margin:0 0 8px; color:var(--ram-blue); font-size:17px; }
.rg-benefit p { margin:0; color:var(--ram-muted); font-size:13px; line-height:1.6; }

.woocommerce-page .site-main { padding-top:48px; padding-bottom:70px; }
.woocommerce div.product { display:flow-root; }
.woocommerce div.product .product_title { color:var(--ram-blue); }
.woocommerce button.button,.woocommerce a.button,.woocommerce input.button { border-radius:999px!important; background:var(--ram-green)!important; color:#fff!important; }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form select { min-height:45px; padding:10px 12px; border:1px solid #d7dce0; border-radius:7px; }
.woocommerce .woocommerce-ordering select.orderby {
  height:45px;
  min-height:45px;
  padding:0 38px 0 12px!important;
  line-height:normal!important;
  vertical-align:middle;
}

.below-content { display:none; }
.site-footer { padding:60px 0 38px; background:#204f82; color:#fff; }
.site-footer a,.site-footer h2,.site-footer h3 { color:#fff; }
.site-footer .elementor { color:#fff; }
.copyright { padding:18px 0; background:#193f69; color:rgba(255,255,255,.8); font-size:12px; }
.copyright .col-full { display:flex; justify-content:space-between; gap:20px; }
.ramguiflex-whatsapp { position:fixed; z-index:100; right:18px; bottom:18px; display:flex; gap:9px; align-items:center; padding:12px 19px; border-radius:999px; background:#365e73; color:#fff; font-weight:600; box-shadow:0 8px 22px rgba(0,0,0,.2); }
.ramguiflex-whatsapp:hover { background:var(--ram-green-dark); color:#fff; }
.ramguiflex-whatsapp svg { width:19px; height:19px; }

@media (max-width:1050px) {
  body.ram-menu-open { overflow:hidden; }
  body .site-header { z-index:1000; }
  .main-header { grid-template-columns:auto 1fr auto; gap:12px; }
  .site-branding { display:flex; align-items:center; gap:12px; }
  .menu-toggle { display:inline-flex; flex-direction:column; gap:4px; border:0; background:transparent; }
  .menu-toggle .bar { width:23px; height:2px; background:#222; }
  .menu-toggle .bar-text { font-size:8px; }
  .site-search { grid-column:2; width:100%!important; }
  .main-header>.site-header-cart { grid-column:3; }
  .col-full-nav { display:none; position:absolute; z-index:120; top:100%; right:0; bottom:auto; left:0; width:100%; height:auto; min-height:0; max-height:calc(100dvh - 105px); padding:12px max(20px,calc((100vw - var(--ram-max))/2)); overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; background:#fff!important; border-top:1px solid var(--ram-line); box-shadow:0 18px 35px rgba(24,48,72,.2); }
  body.ram-menu-open .col-full-nav { display:block; }
  .main-navigation .menu { display:block; }
  .main-navigation .menu>li { border-bottom:1px solid var(--ram-line); }
  .main-navigation .menu>li:last-child { border-bottom:0; }
  .main-navigation .menu>li>a { padding:13px 4px; white-space:normal; }
  .main-navigation .sub-menu { position:static; display:block; min-width:0; padding:0 0 8px; border-radius:0; box-shadow:none; }
  .main-navigation .sub-menu a { padding:8px 4px 8px 20px; }
  .main-navigation .sub-menu .sub-menu { display:none; }
  .rg-products ul.products,.woocommerce ul.products { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:780px) {
  body::before { font-size:9px; }
  .col-full { width:min(calc(100% - 28px),var(--ram-max)); }
  .main-header { grid-template-columns:auto 1fr auto; gap:12px; min-height:70px; }
  .site-branding { display:flex; align-items:center; gap:12px; }
  .site-branding .custom-logo-link { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); }
  .site-branding .custom-logo { max-width:152px; max-height:55px; }
  .menu-toggle { display:inline-flex; flex-direction:column; gap:4px; border:0; background:transparent; }
  .menu-toggle .bar { width:23px; height:2px; background:#222; }
  .menu-toggle .bar-text { font-size:8px; }
  .site-search { grid-column:1/-1!important; width:100%!important; padding-bottom:10px; }
  .col-full-nav { display:none; max-height:calc(100dvh - 95px); }
  body.ram-menu-open .col-full-nav { display:block; }
  .main-navigation .menu { display:block; }
  .main-navigation .menu>li>a { padding:13px 18px; }
  .main-navigation .sub-menu { position:static; display:block; box-shadow:none; }
  .main-navigation .sub-menu a { padding-left:35px; }
  .rg-hero { padding:0 0 22px; }
  .rg-hero-slider { aspect-ratio:2/1; }
  .rg-section { padding:48px 0; }
  .rg-intro { display:block; }
  .rg-intro p { margin-top:16px; }
  .rg-products ul.products,.woocommerce ul.products { grid-template-columns:repeat(2,1fr); }
  .rg-categories { grid-template-columns:1fr; }
  .rg-category { min-height:340px; }
  .rg-split { grid-template-columns:1fr; }
  .rg-split__image { min-height:320px; }
  .rg-benefits { grid-template-columns:1fr; }
}
@media (max-width:480px) {
  .main-header>.site-header-cart { grid-column:3; }
  .rg-products ul.products,.woocommerce ul.products { grid-template-columns:1fr; }
  .rg-title { font-size:34px; }
  .rg-hero-slider { aspect-ratio:2.275/1; }
  .rg-hero-slide { background-size:contain; }
  .copyright .col-full { display:flex; flex-direction:column; align-items:center; gap:18px; text-align:center; }
  .copyright .widget { width:100%; margin:0!important; }
  .copyright .footer-right { display:block; }
  .copyright img.alignright { float:none!important; display:block; width:min(200px,100%)!important; margin:0 auto!important; }
  .ramguiflex-whatsapp span { display:none; }
  .ramguiflex-whatsapp { padding:13px; }
}
