
/* ==========================================
   FUENTES AUTOHOSPEDADAS
   ========================================== */

/* Roboto Regular (400) - Fuente principal */
@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/roboto-v49-latin-regular.woff2') format('woff2');
}

/* Roboto Bold (700) */
@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('/fonts/roboto-v49-latin-700.woff2') format('woff2');
}

body {
    margin: 0;
    padding: 0;
    font-family: Roboto, verdana;
}

.todo {
    max-width: 1280px;
    min-height: 400px;
    margin: auto;
}

.menu {
    width: 100%;
    height: auto;
    margin-top: 20px;
    margin-bottom: 20px;
    background-color: #ffffff;
    float: left;
    box-sizing: border-box;
}

h1 {
    font: 200% Roboto;
    color: #000000;
    margin: 0px;
    padding: 0px;
    text-align: center;
}

h2 {
    font: 150% Roboto;
    color: #000000;
    margin: 0px;
    padding: 0px;
    text-align: center;
}

h3 {
    font: 125% Roboto;
    color: #000000;
    margin: 0px;
    padding: 0px;
    text-align: center;
}

h4 {
    font: 100% Roboto;
    color: #000000;
    margin: 0px;
    padding: 0px;
    text-align: center;
}

.menu img {
    float: left;
}

.contenido {
    width: 60%;
    min-height: 300px;
    position: relative;
    float: left;
    background-color: #fafafa;
    padding: 10px;
    box-sizing: border-box;
    text-align: left;
}

.contenido img {
    width: 80%;
    height: auto;
}

.contacto {
    font-family: roboto;
    font-size: 100%;
    color: #333333;
    margin: 0px;
    padding: 0px;
    text-align: center;
}


/* AÑADIR ESTAS REGLAS NUEVAS AL FINAL */
.icon {
  width: 1.5em;
  height: 1.5em;
  flex-shrink: 0;
  fill: currentColor;
  vertical-align: middle;
}

.contacto a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #333333;
  text-decoration: none;
  transition: color 0.2s;
}

.contacto a:hover {
  color: #0066cc;
}

.contacto a[href*="wa.me"]:hover {
  color: #25D366;
}

.columnas {
  display: flex;
  flex-wrap: wrap; /* Permite que las columnas se envuelvan en pantallas pequeñas */
}

.storyLeft, .storyRight {
  width: 50%; /* Cada columna ocupa el 50% del ancho */
  box-sizing: border-box; /* Incluye el padding y el borde en el ancho total */
  padding: 10px; /* Añade un pequeño espacio alrededor del contenido */
}

.storyLeft p, .storyRight p {
  margin-bottom: 10px; /* Añade espacio entre los párrafos */
}

.storyLeft h3, .storyRight h3 {
  margin-top: 0; /* Elimina el margen superior de los títulos */
}

/* Opcional: Para centrar las imágenes */
.storyLeft img, .storyRight img {
  display: block;
  margin: 0 auto;
}

a.nounderline:link {
    text-decoration: none;
    color: #000000;
}

form {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}

.form-table {
    display: flex;
    width: 100%;
    margin: auto;
}

.form-table td {
    flex: 1;
    padding: 5px;
}

.form-table input[type="text"],
.form-table input[type="email"] {
    width: 100%;
    padding: 5px;
    box-sizing: border-box;
    background-color: #CCCCCC;
    color: #000000;
    border: none;
    font-family: verdana;
}

input[type="submit"], input[type="reset"] {
    background-color: #CCCCCC;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
}

input[type="submit"]:hover, input[type="reset"]:hover {
    background-color: #AAA;
}

.precios-table {
    width: calc(100% - 40px);
    border-collapse: collapse;
    margin: 0 auto;
    table-layout: fixed;
    overflow: hidden;
    border-radius: 20px;
}

th, td {
    border: 1px solid #ddd;
    padding: 10px;
}

th.cabecera {
    background-color: #d9fbd2;
    text-align: center;
}

td.titulo {
    background-color: #f9fbd2;
    text-align: center;
}

td.precio {
    text-align: center;
}

.precios-table tbody tr:nth-child(odd) {
    background-color: #fff;
}

.precios-table tbody tr:nth-child(even) {
    background-color: #f2f2f2;
}

.modelo-tamanio {
    display: flex;
    flex-direction: column;
    border: 1px solid #ddd;
    padding: 0px;
}

#superior {
    background-color: #d9fbd2;
    border: none;
    padding: 15px;
    text-align: center;
}

#inferior {
    background-color: #f9fbd2;
    border: none;
    padding: 15px;
    text-align: center;
}

.superior {
    background-color: #d9fbd2;
    border: none;
    padding: 15px;
    text-align: center;
}

.inferior {
    background-color: #f9fbd2;
    border: none;
    padding: 15px;
    text-align: center;
}

.cabecera.grabado-relieve {
    white-space: normal;
}

.lateral {
    width: 30%;
    min-height: 300px;
    background-color: #f2f2f2;
    position: relative;
    float: right;

    padding: 4px;
    text-align: center;
    margin: 0 auto;
}

.lateral {
    font-family: roboto;
    font-size: 100%;
}

.lateral img {
    width: 66%;
    display: block;
    margin-left: auto;
    margin-right: auto;
    background-color: #f2f2f2;
}

.pie {
    width: 100%;
    height: auto;
    float: left;
    background-color: #d9d9d9;
    margin-top: 20px;
    padding: 15px 20px;
    box-sizing: border-box;
}

.pie {
    font-family: Roboto;
    font-size: 150%;
}

.pie.capsule {
    font-family: Roboto;
    font-size: 50%;
}

@media (min-width: 769px) {
    .todo {
        width: 100%;
    }

    .contenido {
        width: 69%;
        box-sizing: border-box;
    }

    .lateral {
        width: 29%;
        box-sizing: border-box;
    }

    .zoomItl:hover, .zoomItd:hover, .zoomItc:hover, .zoomIts:hover {
        transform: scale(2.33);
        transform-origin: 9% 90%;
        transition: 0.5s cubic-bezier(1, 0, 1, 1);
    }

    .zoomItd:hover {
        transform: scale(2.4);
        transform-origin: 89% 90%;
    }

    .zoomItc:hover {
        transform: scale(1.4);
        transform-origin: 4% 94%;
    }

    .zoomIts:hover {
        transform: scale(1.6);
        transform-origin: 2% 94%;
    }
}

@media (max-width: 768px) {
    .todo {
        width: 100%;
    }

    .contenido {
        width: 100%;
    }

    .lateral {
        width: 100%;
        margin-top: 10px;
    }

    .columnas {
        display: flex; /* Flexbox también en móviles */
        flex-direction: column; /* Apila columnas verticalmente */
        gap: 10px;
    }

    .columnas > div {
        width: 100%; /* Cada columna ocupa todo el ancho cuando está apilada */
    }
	
    .zoomItl:hover, .zoomItd:hover, .zoomItc:hover, .zoomIts:hover {
        transform: scale(1.2);
        transition: transform 1s ease-out;
    }

    .zoomItc:hover {
        transform-origin: 8% 94%;
    }

    .zoomIts:hover {
        transform-origin: 2% 94%;
    }
}
