/*
Theme Name: Imprime Studio Comercial
Author: Imprime Studio
Description: Tema comercial responsive para impresión, publicidad y comunicación visual. Compatible con Gutenberg y Elementor.
Version: 2.0.0
Text Domain: imprime-studio
*/
:root{--gm-blue:#0A327F;--gm-blue-dark:#071F56;--gm-yellow:#E2C434;--gm-cyan:#10A9DA;--gm-green:#12C63A;--gm-paper:#F4F7FB;--gm-line:#DCE4F0;--gm-text:#122033;--gm-muted:#60708E}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--gm-text);line-height:1.6;background:#fff}
a{color:inherit}.gm-wrap{width:min(1180px,calc(100% - 28px));margin:auto}
.site-header{position:sticky;top:0;z-index:90;background:#fff;border-bottom:1px solid var(--gm-line)}
.site-header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.site-branding{display:flex;align-items:center;gap:12px;text-decoration:none}.site-branding img{max-height:48px;width:auto}
.site-branding strong{color:var(--gm-blue);font-size:1.55rem}.site-nav{display:flex;gap:18px;align-items:center}.site-nav a{font-weight:800;color:var(--gm-blue);text-decoration:none}
.site-content{min-height:60vh}.entry-content>*{max-width:1180px;margin-left:auto;margin-right:auto}.entry-content>.alignfull{max-width:none;width:100%}
.site-footer{background:var(--gm-blue-dark);color:#c3cede;padding:38px 0 92px;margin-top:50px}.site-footer strong{color:#fff}
.wp-block-button__link{border-radius:14px!important;font-weight:800}.gm-btn-yellow .wp-block-button__link{background:var(--gm-yellow)!important;color:#172033!important}.gm-btn-blue .wp-block-button__link{background:var(--gm-blue)!important;color:#fff!important}
.gm-section{padding:64px 20px}.gm-soft{background:var(--gm-paper)}.gm-blue-section{background:var(--gm-blue);color:#fff}.gm-blue-section h1,.gm-blue-section h2,.gm-blue-section h3{color:#fff}
.gm-card{background:#fff;border:1px solid var(--gm-line);border-radius:20px;padding:18px;box-shadow:0 8px 24px rgba(10,50,127,.07)}
.gm-grid-3,.gm-grid-4,.gm-grid-6{display:grid;gap:16px}.gm-grid-3{grid-template-columns:repeat(3,1fr)}.gm-grid-4{grid-template-columns:repeat(4,1fr)}.gm-grid-6{grid-template-columns:repeat(6,1fr)}
.gm-card img{width:100%;height:auto;border-radius:14px}.gm-offer-price{color:#D7472F;font-weight:900;font-size:1.15rem}
.gm-floating-tools{position:fixed;right:16px;bottom:82px;z-index:9998;display:flex;flex-direction:column;align-items:center;gap:13px}.gm-fab{border:0;cursor:pointer;display:grid;place-items:center;border-radius:50%;box-shadow:0 12px 28px rgba(0,0,0,.18);text-decoration:none}.gm-top-btn{width:58px;height:58px;background:#fff;color:#1C293D;border:2px solid #1C293D;font-size:28px;opacity:0;pointer-events:none}.gm-top-btn.visible{opacity:1;pointer-events:auto}.gm-wa-btn{width:68px;height:68px;background:var(--gm-green);color:#fff;font-size:34px;border:4px solid #fff}.gm-assistant-fab{width:66px;height:66px;background:var(--gm-blue);color:#fff;font-size:28px}
.gm-chat{position:fixed;right:16px;bottom:158px;z-index:10000;width:min(390px,calc(100vw - 24px));max-height:min(680px,calc(100vh - 120px));display:none;flex-direction:column;background:#fff;border:1px solid var(--gm-line);border-radius:24px;overflow:hidden;box-shadow:0 26px 70px rgba(7,31,86,.28)}.gm-chat.open{display:flex}.gm-chat-header{display:flex;align-items:center;gap:12px;padding:15px 16px;border-bottom:1px solid var(--gm-line)}.gm-avatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#EEF3FB;font-size:30px}.gm-agent{flex:1}.gm-agent strong{display:block;color:var(--gm-blue)}.gm-online{display:flex;align-items:center;gap:6px;color:#8A95A7;font-size:.8rem}.gm-online i{width:9px;height:9px;border-radius:50%;background:#22C55E}.gm-close{width:38px;height:38px;border:0;border-radius:50%;background:#F1F4F8;color:var(--gm-blue);font-size:22px}.gm-chat-body{padding:14px;overflow:auto;flex:1;background:#F8F9FC}.gm-msg{max-width:88%;padding:11px 13px;border-radius:17px;margin-bottom:10px;font-size:.92rem}.gm-bot{background:#295090;color:#fff}.gm-user{margin-left:auto;background:#E7E9ED;color:#485466}.gm-menu{display:grid;gap:8px}.gm-menu button{border:0;background:#E7E7E7;color:#626A75;border-radius:999px;padding:11px 15px;font-weight:800;cursor:pointer}.gm-chat-footer{display:flex;gap:8px;padding:11px;border-top:1px solid var(--gm-line)}.gm-chat-footer input{flex:1;border:1px solid #D5DEEA;border-radius:13px;padding:10px}.gm-chat-footer button{border:0;background:var(--gm-yellow);border-radius:13px;padding:0 14px;font-weight:900}
@media(max-width:850px){.site-nav{display:none}.gm-grid-6{grid-template-columns:repeat(3,1fr)}.gm-grid-4{grid-template-columns:repeat(2,1fr)}.gm-grid-3{grid-template-columns:1fr}}
@media(max-width:560px){.gm-grid-6,.gm-grid-4{grid-template-columns:repeat(2,1fr)}.gm-floating-tools{right:12px}.gm-wa-btn{width:64px;height:64px}.gm-top-btn{width:56px;height:56px}.gm-assistant-fab{width:62px;height:62px}}

/* GrafiMedia responsive v2 */
.gm-sticky-search{
  position:sticky;
  top:76px;
  z-index:85;
  background:rgba(244,247,251,.96);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--gm-line);
  padding:9px 0;
  box-shadow:0 8px 22px rgba(7,31,86,.06);
}
.gm-search-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  background:#fff;
  border:1px solid var(--gm-line);
  border-radius:16px;
  padding:8px;
}
.gm-search-form input{
  min-width:0;
  border:0;
  outline:0;
  padding:10px 12px;
  font-size:.96rem;
}
.gm-search-form button{
  border:0;
  border-radius:12px;
  background:var(--gm-blue);
  color:#fff;
  padding:10px 18px;
  font-weight:900;
}
.gm-fab{padding:0;line-height:0;overflow:hidden}
.gm-fab svg{display:block;margin:auto}
.gm-top-btn{display:flex;align-items:center;justify-content:center}
.gm-top-btn svg{width:28px;height:28px}
.gm-wa-btn{display:flex;align-items:center;justify-content:center}
.gm-wa-btn svg{width:39px;height:39px;color:#fff}
.gm-assistant-fab{display:flex;align-items:center;justify-content:center}
.gm-assistant-fab svg{width:34px;height:34px}
img{max-width:100%;height:auto}
@media(max-width:850px){
  .gm-sticky-search{top:66px}
  .site-header-inner{min-height:66px}
  .entry-content h1{font-size:clamp(2.1rem,9vw,3rem);line-height:1.04}
  .entry-content h2{font-size:clamp(1.8rem,7vw,2.45rem)}
}
@media(max-width:560px){
  .gm-wrap{width:calc(100% - 18px)}
  .gm-search-form input{font-size:.86rem;padding:9px}
  .gm-search-form button{font-size:.86rem;padding-inline:12px}
  .gm-grid-6,.gm-grid-4,.gm-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gm-card{padding:11px}
  .gm-card h3{font-size:.96rem}
}
@media(max-width:390px){
  .gm-grid-6,.gm-grid-4,.gm-grid-3{grid-template-columns:1fr}
}

/* GrafiMedia v3 assistant fix */
.gm-assistant-fab svg{width:36px;height:36px}
.gm-chat{max-height:min(680px, calc(100dvh - 120px))}
@media(max-width:700px){
  .gm-chat{
    right:8px;
    left:8px;
    width:auto;
    top:max(8px, env(safe-area-inset-top));
    bottom:92px;
    max-height:none;
    height:auto;
    border-radius:22px;
  }
  .gm-chat-header{
    position:sticky;
    top:0;
    z-index:2;
    background:#fff;
  }
  .gm-chat-footer{
    position:sticky;
    bottom:0;
    z-index:2;
    background:#fff;
  }
}
@media(max-width:430px){
  .gm-chat{
    top:max(6px, env(safe-area-inset-top));
    bottom:86px;
    border-radius:20px;
  }
}

/* GrafiMedia v4 assistant fix */
.gm-assistant-fab{display:flex;align-items:center;justify-content:center}
.gm-assistant-fab svg{width:35px;height:35px;display:block}
.gm-avatar{background:#0A327F;box-shadow:inset 0 0 0 2px rgba(255,255,255,.08)}
.gm-avatar svg{width:32px;height:32px;display:block}
@media(max-width:430px){.gm-avatar svg{width:30px;height:30px}}

/* Assistant v5 compact UI */
.gm-chat{width:min(390px,calc(100vw - 20px));border-radius:22px}.gm-chat-header{padding:12px 14px}.gm-avatar{width:48px;height:48px}.gm-avatar svg{width:30px;height:30px}.gm-chat-body{padding:12px;background:#F6F8FC}.gm-msg{font-size:.88rem;line-height:1.42;padding:10px 12px;margin-bottom:8px}.gm-menu{display:grid;grid-template-columns:1fr 1fr;gap:7px}.gm-menu button{min-height:48px;border-radius:14px;padding:9px 10px;font-size:.79rem;line-height:1.18;text-align:center;background:#fff;color:#48566D;border:1px solid #DCE4F0;box-shadow:0 4px 12px rgba(7,31,86,.04)}.gm-submenu{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.gm-submenu button{border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.08);color:#fff;padding:7px 8px;border-radius:12px;font-weight:800;font-size:.76rem}.gm-help-hint{font-size:.72rem;color:#738198;margin:7px 2px 0}@media(max-width:390px){.gm-menu,.gm-submenu{grid-template-columns:1fr}}

/* GrafiMedia v6 clearer assistant icon */
.gm-assistant-fab{display:flex;align-items:center;justify-content:center}
.gm-assistant-fab svg{width:38px;height:38px;display:block;filter:drop-shadow(0 2px 3px rgba(0,0,0,.10));}
.gm-avatar{background:#EAF0FF;border:2px solid #D7E2FF;box-shadow:none;display:flex;align-items:center;justify-content:center}
.gm-avatar svg{width:36px;height:36px;display:block}
@media(max-width:430px){.gm-assistant-fab svg{width:36px;height:36px}.gm-avatar svg{width:34px;height:34px}}

/* GrafiMedia v8 inline assistant icon fix */
.gm-assistant-fab{display:flex;align-items:center;justify-content:center;overflow:hidden}
.gm-assistant-fab .gm-assistant-icon-img{width:40px;height:40px;display:block;object-fit:contain;background:#fff;padding:3px;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.16)}
.gm-avatar{display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #D7E2FF;box-shadow:none;overflow:hidden}
.gm-avatar .gm-assistant-avatar-img{width:42px;height:42px;display:block;object-fit:contain;background:#fff;padding:2px;border-radius:50%}
@media(max-width:430px){.gm-assistant-fab .gm-assistant-icon-img{width:38px;height:38px}.gm-avatar .gm-assistant-avatar-img{width:40px;height:40px}}

/* GrafiMedia v9 photographic product cards */
.gm-product-showcase{padding:64px 20px;background:#F4F7FB}
.gm-product-showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gm-product-showcase-card{background:#fff;border:1px solid #DCE4F0;border-radius:20px;overflow:hidden;box-shadow:0 8px 24px rgba(10,50,127,.07)}
.gm-product-showcase-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.gm-product-showcase-card .gm-product-copy{padding:16px}
.gm-product-showcase-card h3{margin:0 0 6px;color:#0A327F}
.gm-product-showcase-card p{margin:0;color:#60708E}
@media(max-width:820px){.gm-product-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.gm-product-showcase-grid{grid-template-columns:1fr}}

/* GrafiMedia v10 real product photography */
.gm-product-showcase-card img,
.gm-card img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:center;
  display:block;
  background:#fff;
}


/* GrafiMedia 1.1 — Home 100% editable with Gutenberg */
.gm-edit-section{padding:56px 20px}
.gm-edit-section.gm-soft{background:var(--gm-paper)}
.gm-edit-grid{display:grid!important;gap:18px!important}
.gm-edit-grid.gm-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gm-edit-grid.gm-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gm-edit-card{background:#fff;border:1px solid var(--gm-line);border-radius:20px;overflow:hidden;box-shadow:0 8px 24px rgba(10,50,127,.07);padding:0!important}
.gm-edit-card>.wp-block-image{margin:0!important}
.gm-edit-card>.wp-block-image img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#fff}
.gm-edit-card>.wp-block-heading,.gm-edit-card>p,.gm-edit-card>.wp-block-buttons{margin-left:18px!important;margin-right:18px!important}
.gm-edit-card>.wp-block-heading{margin-top:18px!important;margin-bottom:8px!important;color:var(--gm-blue)}
.gm-edit-card>p{color:var(--gm-muted)}
.gm-edit-card>.wp-block-buttons{margin-bottom:18px!important}
.gm-edit-category>.wp-block-image img{aspect-ratio:1/1}
.gm-edit-offer .gm-offer-price{color:#D7472F!important;font-weight:900!important}
.gm-edit-note{background:#FFF8D8;border:1px solid #F0DB70;border-radius:14px;padding:14px 16px}
@media(max-width:820px){.gm-edit-grid.gm-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.gm-edit-section{padding:38px 16px}.gm-edit-grid.gm-cols-2,.gm-edit-grid.gm-cols-3{grid-template-columns:1fr}}
