:root {
--gs-black: #25282a;
--gs-green: #00ba73;
--gs-yellow: #f6bc27;
--gs-red: #e70031;
--gs-orange: #ff6d41;
--gs-pink: #fc9cb2;
--gs-cream: #fffaf2;
--gs-white: #ffffff;
--gs-muted: #66706c;
--gs-border: rgba(37, 40, 42, 0.14);
--gs-shadow: 0 18px 48px rgba(37, 40, 42, 0.12);
--gs-radius-sm: 12px;
--gs-radius: 22px;
--gs-radius-lg: 36px;
--gs-heading: "Nove", "Hollyweed", "Arial Narrow", sans-serif;
--gs-body: "Axiforma", "Arial", sans-serif;
--gs-accent: "Feronia", Georgia, serif;
}
html { scroll-behavior: smooth; }
body, #wrapwrap {
color: var(--gs-black);
background: var(--gs-white);
font-family: var(--gs-body);
-webkit-font-smoothing: antialiased;
}
/* Header y navegación nativos de Odoo */
#wrapwrap > header {
background: rgba(255,255,255,.96);
border-bottom: 1px solid var(--gs-border);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
}
#wrapwrap > header .navbar { min-height: 76px; }
#top_menu > li > a,
#top_menu .nav-link {
color: var(--gs-black) !important;
font-weight: 700;
letter-spacing: .01em;
}
#top_menu > li > a:hover,
#top_menu .nav-link:hover { color: #007e4e !important; }
/* Botones */
.btn,
.gs-btn {
border-radius: 999px;
font-family: var(--gs-body);
font-weight: 800;
letter-spacing: .01em;
padding: .86rem 1.35rem;
transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.btn:hover,
.gs-btn:hover { transform: translateY(-2px); }
.btn-primary,
.gs-btn-primary {
color: var(--gs-black) !important;
background: var(--gs-green) !important;
border-color: var(--gs-green) !important;
box-shadow: 0 10px 24px rgba(0,186,115,.22);
}
.btn-primary:hover,
.gs-btn-primary:hover {
color: var(--gs-black) !important;
background: #10cf87 !important;
border-color: #10cf87 !important;
}
.btn-secondary,
.gs-btn-dark {
color: var(--gs-white) !important;
background: var(--gs-black) !important;
border-color: var(--gs-black) !important;
}
.gs-btn-outline {
color: var(--gs-black) !important;
background: transparent !important;
border: 2px solid var(--gs-black) !important;
}
.btn:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
outline: 3px solid var(--gs-yellow) !important;
outline-offset: 3px;
}
/* Tipografía */
.gs-page h1,
.gs-page h2,
.gs-page h3,
.gs-page .gs-display,
.gs-page .gs-eyebrow {
font-family: var(--gs-heading);
color: var(--gs-black);
}
.gs-page h1 {
font-size: clamp(2.6rem, 7vw, 6.7rem);
line-height: .92;
letter-spacing: -.025em;
}
.gs-page h2 {
font-size: clamp(2.1rem, 4.6vw, 4.3rem);
line-height: .98;
letter-spacing: -.02em;
}
.gs-page h3 {
font-size: clamp(1.35rem, 2.5vw, 2rem);
line-height: 1.05;
}
.gs-page p,
.gs-page li { line-height: 1.65; }
.gs-kicker {
display: inline-flex;
align-items: center;
gap: .5rem;
margin-bottom: 1rem;
font-size: .76rem;
font-weight: 900;
letter-spacing: .14em;
text-transform: uppercase;
}
.gs-kicker::before {
content: "";
width: 28px;
height: 4px;
border-radius: 99px;
background: var(--gs-green);
}
.gs-lead {
max-width: 760px;
color: #4f5854;
font-size: clamp(1.05rem, 1.7vw, 1.28rem);
}
.gs-small { font-size: .9rem; }
.gs-muted { color: var(--gs-muted); }
/* Layout */
.gs-page section { position: relative; }
.gs-section { padding: clamp(4rem, 8vw, 7.5rem) 0; }
.gs-section-sm { padding: clamp(2.5rem, 5vw, 4.5rem) 0; }
.gs-container { width: min(1180px, calc(100% - 2rem)); margin-inline: auto; }
.gs-grid-2 { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.gs-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.gs-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.15rem; }
.gs-stack { display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; }
/* Barra operativa */
.gs-announcement {
background: var(--gs-black);
color: var(--gs-white);
padding: .7rem 1rem;
text-align: center;
font-size: .84rem;
font-weight: 700;
letter-spacing: .03em;
}
/* Hero */
.gs-hero {
overflow: hidden;
background:
radial-gradient(circle at 88% 20%, rgba(252,156,178,.52), transparent 28%),
radial-gradient(circle at 70% 80%, rgba(246,188,39,.32), transparent 28%),
var(--gs-cream);
padding: clamp(4.2rem, 8vw, 8.5rem) 0;
}
.gs-hero::after {
content: "";
position: absolute;
right: -90px;
bottom: -120px;
width: 340px;
height: 340px;
border-radius: 48% 52% 64% 36%;
background: var(--gs-green);
opacity: .12;
transform: rotate(18deg);
}
.gs-hero-copy { position: relative; z-index: 2; }
.gs-hero-copy h1 { max-width: 850px; margin-bottom: 1.4rem; }
.gs-hero-copy .gs-lead { margin-bottom: 1.7rem; }
.gs-trust-row { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.5rem; }
.gs-trust-chip {
display: inline-flex;
align-items: center;
gap: .45rem;
border: 1px solid var(--gs-border);
background: rgba(255,255,255,.72);
border-radius: 999px;
padding: .58rem .8rem;
font-size: .82rem;
font-weight: 750;
}
.gs-visual-panel {
min-height: 500px;
padding: 1.4rem;
border-radius: var(--gs-radius-lg);
background: var(--gs-black);
box-shadow: var(--gs-shadow);
position: relative;
overflow: hidden;
}
.gs-visual-panel::before {
content: "";
position: absolute;
inset: 0;
background:
linear-gradient(135deg, transparent 0 36%, rgba(0,186,115,.86) 36% 52%, transparent 52%),
linear-gradient(45deg, transparent 0 58%, rgba(255,109,65,.9) 58% 73%, transparent 73%);
opacity: .86;
}
.gs-visual-panel .gs-media-placeholder { position: relative; z-index: 2; height: 100%; min-height: 470px; }
/* Placeholder editable */
.gs-media-placeholder {
display: grid;
place-items: center;
min-height: 280px;
padding: 2rem;
border: 2px dashed rgba(255,255,255,.5);
border-radius: var(--gs-radius);
color: rgba(255,255,255,.88);
background: rgba(255,255,255,.06);
text-align: center;
font-weight: 800;
}
.gs-media-placeholder.gs-light {
color: var(--gs-black);
border-color: var(--gs-border);
background: #f6f7f5;
}
.gs-page img {
max-width: 100%;
height: auto;
border-radius: var(--gs-radius);
}
/* Tarjetas */
.gs-card {
height: 100%;
padding: 1.55rem;
border: 1px solid var(--gs-border);
border-radius: var(--gs-radius);
background: var(--gs-white);
box-shadow: 0 7px 24px rgba(37,40,42,.055);
}
.gs-card h3 { margin-bottom: .7rem; }
.gs-card p:last-child { margin-bottom: 0; }
.gs-card-accent { border-top: 7px solid var(--gs-green); }
.gs-card-yellow { border-top-color: var(--gs-yellow); }
.gs-card-orange { border-top-color: var(--gs-orange); }
.gs-card-pink { border-top-color: var(--gs-pink); }
.gs-card-red { border-top-color: var(--gs-red); }
.gs-icon {
width: 52px;
height: 52px;
display: grid;
place-items: center;
margin-bottom: 1.1rem;
border-radius: 16px;
background: var(--gs-green);
color: var(--gs-black);
font-size: 1.4rem;
font-weight: 900;
}
/* Secciones de color */
.gs-bg-black { background: var(--gs-black); color: var(--gs-white); }
.gs-bg-black h1,
.gs-bg-black h2,
.gs-bg-black h3,
.gs-bg-black .gs-kicker { color: var(--gs-white); }
.gs-bg-black .gs-lead,
.gs-bg-black .gs-muted { color: rgba(255,255,255,.74); }
.gs-bg-green { background: var(--gs-green); color: var(--gs-black); }
.gs-bg-yellow { background: var(--gs-yellow); color: var(--gs-black); }
.gs-bg-pink { background: var(--gs-pink); color: var(--gs-black); }
.gs-bg-cream { background: var(--gs-cream); }
/* Pasos */
.gs-steps { counter-reset: gs-step; }
.gs-step {
counter-increment: gs-step;
display: grid;
grid-template-columns: 70px 1fr;
gap: 1rem;
padding: 1.25rem 0;
border-bottom: 1px solid var(--gs-border);
}
.gs-step::before {
content: "0" counter(gs-step);
font-family: var(--gs-heading);
font-size: 2.1rem;
color: var(--gs-green);
}
/* Producto / curso */
.gs-product-card,
.gs-course-card {
overflow: hidden;
padding: 0;
}
.gs-product-card .gs-card-body,
.gs-course-card .gs-card-body { padding: 1.35rem; }
.gs-product-media,
.gs-course-media {
min-height: 230px;
display: grid;
place-items: center;
background: var(--gs-cream);
border-bottom: 1px solid var(--gs-border);
padding: 1.2rem;
}
.gs-tag {
display: inline-block;
margin-bottom: .7rem;
padding: .38rem .65rem;
border-radius: 999px;
background: rgba(0,186,115,.13);
color: #007446;
font-size: .72rem;
font-weight: 900;
letter-spacing: .06em;
text-transform: uppercase;
}
.gs-meta {
display: flex;
flex-wrap: wrap;
gap: .55rem 1rem;
margin: .75rem 0 1.1rem;
color: var(--gs-muted);
font-size: .88rem;
}
.gs-price {
font-family: var(--gs-heading);
font-size: 1.7rem;
line-height: 1;
}
/* Formularios */
.gs-form-wrap {
padding: clamp(1.4rem, 3vw, 2.4rem);
border-radius: var(--gs-radius-lg);
background: var(--gs-white);
box-shadow: var(--gs-shadow);
}
.gs-form .form-label,
.gs-form .s_website_form_label {
font-weight: 800;
color: var(--gs-black);
}
.gs-form .form-control,
.gs-form .form-select {
min-height: 52px;
border: 1px solid rgba(37,40,42,.24);
border-radius: 13px;
background: #fff;
color: var(--gs-black);
}
.gs-form textarea.form-control { min-height: 145px; }
.gs-form .form-control:focus,
.gs-form .form-select:focus {
border-color: var(--gs-green);
box-shadow: 0 0 0 .25rem rgba(0,186,115,.15);
}
/* FAQ */
.gs-faq details {
border-bottom: 1px solid var(--gs-border);
padding: 1.1rem 0;
}
.gs-faq summary {
cursor: pointer;
font-weight: 850;
list-style: none;
}
.gs-faq summary::-webkit-details-marker { display: none; }
.gs-faq summary::after { content: "+"; float: right; font-size: 1.35rem; }
.gs-faq details[open] summary::after { content: "–"; }
.gs-faq details p { margin: .8rem 0 0; color: var(--gs-muted); }
/* Testimonios */
.gs-quote {
font-family: var(--gs-accent);
font-size: clamp(1.3rem, 2.3vw, 2rem);
line-height: 1.3;
}
/* Footer nativo */
#wrapwrap > footer {
background: var(--gs-black) !important;
color: rgba(255,255,255,.8) !important;
}
#wrapwrap > footer a { color: var(--gs-white) !important; }
#wrapwrap > footer h4,
#wrapwrap > footer h5 { color: var(--gs-white) !important; }
/* Sticky CTA móvil */
.gs-mobile-cta { display: none; }
/* Utilidades */
.gs-divider { height: 1px; background: var(--gs-border); }
.gs-center { text-align: center; }
.gs-max-760 { max-width: 760px; }
.gs-mx-auto { margin-inline: auto; }
.gs-mb-0 { margin-bottom: 0; }
.gs-mt-3 { margin-top: 1rem; }
.gs-mt-4 { margin-top: 1.5rem; }
.gs-mt-5 { margin-top: 2.2rem; }
.gs-checklist { list-style: none; padding: 0; margin: 0; }
.gs-checklist li { position: relative; padding-left: 1.65rem; margin-bottom: .65rem; }
.gs-checklist li::before {
content: "✓";
position: absolute;
left: 0;
top: 0;
color: var(--gs-green);
font-weight: 950;
}
/* Odoo shop: mejoras sin alterar la lógica */
.oe_website_sale .oe_product_cart,
.o_wsale_product_grid_wrapper .oe_product {
border-radius: var(--gs-radius) !important;
overflow: hidden;
border-color: var(--gs-border) !important;
}
.oe_website_sale .oe_product_cart .oe_product_image img { object-fit: contain; }
.oe_website_sale .oe_product_cart .oe_product_cart_p { padding: 1rem !important; }
#product_detail .oe_price,
.oe_website_sale .oe_currency_value { font-family: var(--gs-heading); }
/* Responsive */
@media (max-width: 991.98px) {
.gs-grid-2 { grid-template-columns: 1fr; }
.gs-grid-3 { grid-template-columns: repeat(2, 1fr); }
.gs-grid-4 { grid-template-columns: repeat(2, 1fr); }
.gs-visual-panel { min-height: 390px; }
.gs-visual-panel .gs-media-placeholder { min-height: 360px; }
}
@media (max-width: 767.98px) {
.gs-section { padding: 4rem 0; }
.gs-grid-3,
.gs-grid-4 { grid-template-columns: 1fr; }
.gs-stack .btn,
.gs-stack .gs-btn { width: 100%; text-align: center; }
.gs-hero { padding-top: 3.8rem; }
.gs-hero h1 { font-size: clamp(2.75rem, 14vw, 4.8rem); }
.gs-visual-panel { min-height: 330px; }
.gs-visual-panel .gs-media-placeholder { min-height: 300px; }
.gs-mobile-cta {
display: grid;
position: fixed;
left: .75rem;
right: .75rem;
bottom: .75rem;
z-index: 1045;
grid-template-columns: 1fr 1fr;
gap: .55rem;
padding: .55rem;
border: 1px solid var(--gs-border);
border-radius: 20px;
background: rgba(255,255,255,.96);
box-shadow: 0 18px 50px rgba(37,40,42,.24);
backdrop-filter: blur(14px);
}
.gs-mobile-cta .btn { padding: .72rem .7rem; font-size: .8rem; }
body { padding-bottom: 82px; }
}
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
*, *::before, *::after {
animation-duration: .01ms !important;
animation-iteration-count: 1 !important;
transition-duration: .01ms !important;
}
}
Skip to Content
Your coffee journey starts here
Our courses and tastings offer a deep dive into the world of coffee, from bean to cup. Whether you're a beginner or a seasoned enthusiast, our programs are designed to enrich your understanding and appreciation of coffee.
More Details
El tueste perfecto es la clave para liberar los sabores ocultos en cada grano de café
Contact Us
Enhance Your Coffee Knowledge
Our coffee courses and tastings are crafted to provide valuable insights into coffee culture. Join us to explore the art of brewing, tasting, and enjoying coffee like never before.
Start with the coffee lover – find out what they want and give it to them.
Learn More
Key Metrics of
Our Coffee Courses
Analyzing the flavors behind our success:
an in-depth look at the key metrics driving our coffee courses
8+
Incredible Experiences