/*
Theme Name: Le Ghie Classic
Theme URI: https://www.leghie.it
Author: Davide Bertolino
Author URI: https://www.davidebertolino.it
Description: Trasposizione fedele del sito statico di Country House Le Ghie (stesse pagine, stesse immagini, stessa grafica). Tutte le risorse sono servite dal sito stesso: nessun font Google, nessun CDN. Pulsanti di richiesta preventivo collegati a DB Form Builder; Privacy e Cookie Policy affidate a DB Privacy Hub e DB Cookie Manager. Alla prima attivazione crea pagine e menu.
Version: 1.2.1
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: leghie-classic
*/

/* ==========================================================================
   FONT — serviti dal sito, non da Google (vedi LEGGIMI.md)
   ========================================================================== */

@font-face {
    font-family: 'Dancing Script';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('assets/fonts/dancing-script-latin-600-normal.woff2') format('woff2');
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('assets/fonts/montserrat-latin-400-normal.woff2') format('woff2');
}

/* ==========================================================================
   STILI ORIGINALI (style.css del sito statico)
   ========================================================================== */

body {
    font-family: 'Montserrat', sans-serif;
    font-size: 14pt;
}

.font-script {
    font-family: 'Dancing Script', cursive;
}

/* NAVBAR */

nav {
    padding-left: 50px;
    padding-top: 15px;
    padding-bottom: 15px;
    padding-right: 15px;
}

.navbar-brand#logo {
    font-family: 'Dancing Script', cursive;
    font-size: 28pt;
    color: #539C38;
}

.nav-link {
    text-decoration: none;
    position: relative;
    transition: all 0.3s;
    padding-bottom: 0;
    margin-right: 10px;
    color: gray;
}

.nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0;
    height: 2px;
    background-color: #539C38;
    transition: all 0.3s;
}

.nav-link:hover::after,
.nav-link:focus-visible::after,
.current-menu-item > .nav-link::after {
    width: 100%;
}

.navbar-brand:hover {
    cursor: pointer;
}

.nav-link:hover {
    cursor: pointer;
    color: black;
}

/* CONTENUTO */

.slogan {
    text-align: center;
    font-family: 'Dancing Script', cursive;
    font-size: 35pt;
}

.desc {
    text-decoration: none !important;
    text-align: center;
    font-size: 18pt;
    color: black;
}

.scopri {
    font-size: 32pt;
    text-align: center;
}

/* HOME */

.content_img_home {
    display: flex;
    margin-bottom: 10%;
    align-items: center;
    justify-content: center;
}

.content_img_home img,
.content_img_home video {
    margin-right: 10px;
    width: 18%;
}

.content_paragrafi {
    display: flex;
    align-items: center;
    width: 70%;
    margin: 0 auto;
    margin-bottom: 5%;
}

.content_paragrafi > img,
.content_paragrafi > video {
    width: 50%;
}

.content_paragrafi > video {
    margin-right: 10px;
}

.paragraph {
    flex: 1;
    margin: 10px;
    padding: 10px;
}

.carousel-territorio {
    width: 60%;
    margin: 0 auto;
    margin-bottom: 10%;
}

.carousel-caption h2 {
    font-family: 'Dancing Script', cursive;
}

.content_storia {
    display: flex;
    margin: 0 auto;
    width: 70%;
    height: fit-content;
    margin-bottom: 100px;
}

.content_storia_div {
    flex: 1;
    text-align: center;
    padding: 10px;
}

.content_storia_div img {
    max-width: 100%;
    height: auto;
}

.content_storia .son {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50vh;
}

.small-image {
    width: 40%;
}

/* RISTORANTE */

.desc_ristorante {
    display: flex;
    width: 75%;
    margin: 0 auto;
    margin-top: 15px;
    align-items: center;
    margin-bottom: 5%;
}

.desc_ristorante > img {
    width: 50%;
}

.right {
    text-align: left;
}

.opt_ristorante {
    display: flex;
    width: 60%;
    margin: 0 auto;
    text-align: center;
    justify-content: center;
    align-items: center;
}

.opt_ristorante img {
    padding: 50px;
}

.img_rest {
    width: 33%;
    border-radius: 50%;
}

/* CAMERE */

.titolo-sezione-camere {
    font-size: 38pt;
    font-family: 'Dancing Script', cursive;
    padding-top: 30px;
    text-align: center;
}

.paragrafo_camera.intro-camere {
    width: 70%;
    margin: 0 auto !important;
}

.nome-camera {
    font-family: 'Dancing Script', cursive;
}

.img_camera_main {
    width: 80%;
    display: flex;
    margin: 0 auto;
    padding: 20px;
}

.img_camera {
    display: flex;
    margin: 0 auto;
    margin-right: 25px;
    margin-left: 25px;
}

.paragrafo_camera {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 2%;
}

.img_camera img {
    width: 30%;
    padding: 7px;
}

.img_camera img.w65 { width: 65%; }
.img_camera img.w35 { width: 35%; }
.img_camera img.w50 { width: 50%; }

/* Sotto i 1125px il testo della camera passa sotto le foto e il nome sopra. */
.title .verticale {
    text-align: center;
}

/* FOOTER */

.footer {
    margin-top: 80px;
    padding: 25px;
    text-align: center;
    border-top: 1px solid transparent;
    border-image: linear-gradient(to left, transparent, #539C38, transparent) 1;
    font-size: 13pt;
}

.footer .column_father {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
}

.footer .contatti {
    text-align: left;
    color: black;
    margin-left: 25px;
}

.footer .titolo-contatti {
    font-size: inherit;
    font-weight: 400;
    text-align: center;
}

.footer .contatti p {
    margin-bottom: 1.5rem;
}

.footer .contatti a {
    color: gray;
    text-decoration: underline;
}

.footer .contatti a:hover {
    color: black;
}

.footer a {
    margin-right: 10px;
}

.footer .social {
    display: flex;
}

.footer .social a {
    text-decoration: none;
}

.finale {
    width: 100%;
    text-align: center;
    font-size: 13pt;
    color: gray;
    padding: 0 20px 20px;
}

.finale a {
    color: gray;
}

/* Link legali accanto al copyright (menu «Piè di pagina»). */
.finale nav {
    display: inline;
}

.menu-legale {
    display: inline;
    list-style: none;
    margin: 0;
    padding: 0;
}

.menu-legale li {
    display: inline;
}

.menu-legale li::before,
.preferenze-cookie::before {
    content: "|";
    margin: 0 .5em;
}

/* ==========================================================================
   AGGIUNTE DEL TEMA (non presenti nel sito statico)
   ========================================================================== */

/* Le immagini hanno width/height reali (niente salti durante il caricamento):
   l'altezza deve seguire la larghezza impostata dal CSS. */
main img,
main video {
    height: auto;
    max-width: 100%;
}

/* Icone SVG al posto di Font Awesome: stesso aspetto, nessun CDN. */
.icona {
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
    fill: currentColor;
}

.icona-2x {
    font-size: 2em;
}

/* Salto al contenuto, visibile solo da tastiera. */
.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 10000;
    padding: .75rem 1.25rem;
    background: #fff;
    color: #000;
}

.skip-link:focus {
    left: 1rem;
    top: 1rem;
}

/* L'ancora #contatti non deve finire sotto la barra di amministrazione. */
html {
    scroll-padding-top: 40px;
}

/* Pagine di testo (Privacy Policy, Cookie Policy, pagine generiche). */
.pagina-testo {
    width: 70%;
    max-width: 900px;
    margin: 0 auto;
    padding: 30px 0;
    font-size: 13pt;
    line-height: 1.6;
}

.pagina-testo h1 {
    font-family: 'Dancing Script', cursive;
    font-size: 38pt;
    text-align: center;
    margin-bottom: 30px;
}

.pagina-testo h2 {
    font-size: 18pt;
    margin-top: 2rem;
}

.pagina-testo h3 {
    font-size: 15pt;
    margin-top: 1.5rem;
}

.pagina-testo table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11pt;
    margin: 1rem 0;
}

.pagina-testo th,
.pagina-testo td {
    border: 1px solid #ddd;
    padding: 6px 8px;
    vertical-align: top;
    text-align: left;
}

.pagina-testo th {
    background: #f4f8f2;
}

.pagina-testo a {
    color: #3d7a28;
}

.pagina-testo img {
    max-width: 100%;
    height: auto;
}

.pagina-ampia > .wp-block-group,
.contenuto-extra {
    width: 70%;
    margin: 0 auto 40px;
}

/* Chi preferisce meno movimento non vede le transizioni del carosello. */
@media (prefers-reduced-motion: reduce) {
    .carousel-item,
    .nav-link,
    .nav-link::after {
        transition: none !important;
    }
}

/* ==========================================================================
   MEDIA QUERY ORIGINALI (media.css del sito statico)
   ========================================================================== */

@media (max-width: 510px) {
    .slogan {
        font-size: 22pt;
    }
    .blockOne {
        margin: 0;
        padding: 0;
    }
    .blockOne img {
        margin: 0;
        padding: 3px;
    }
    .blockTwo {
        margin: 0;
        padding: 3px;
    }
    .paragrafo_camera {
        font-size: 12pt;
    }
}

@media (max-width: 1040px) {
    .desc {
        font-size: 12pt;
    }
    .scopri {
        font-size: 22pt;
    }
    .footer,
    .finale {
        font-size: 11pt;
    }
    .content_storia .son {
        height: 20vh;
    }
    .pagina-testo {
        width: 85%;
    }
}

@media (max-width: 595px) {
    .content_img_home {
        flex-wrap: wrap;
    }
    .content_img_home img,
    .content_img_home video {
        width: 35vw;
        margin: 10px;
    }
    .content_paragrafi,
    .content_storia {
        flex-direction: column;
    }
    .content_paragrafi > img,
    .content_paragrafi > video {
        width: 70vw;
        margin-right: 0;
    }
    /* Nel sito statico il video era duplicato e uno dei due nascosto:
       qui ne basta uno, spostato sotto il testo. */
    .content_paragrafi .media-prima {
        order: 2;
    }
    .carousel-territorio {
        width: 80%;
    }
    .blockTwo {
        flex-direction: column;
    }
    .blockTwo img.w50 {
        width: 100%;
    }
    .pagina-testo,
    .contenuto-extra {
        width: 90%;
    }
}

@media (max-width: 325px) {
    .navbar-brand#logo {
        font-size: 20pt;
    }
    .desc {
        font-size: 8pt;
    }
    .scopri,
    .slogan {
        font-size: 18pt;
    }
    .opt_ristorante h3 {
        font-size: 15pt;
    }
    .paragrafo_camera {
        font-size: 10pt;
    }
}

@media (max-width: 385px) {
    .intro {
        font-size: 10pt;
    }
    .footer,
    .finale {
        font-size: 10pt;
    }
    .column_father {
        flex-direction: column;
    }
}

@media (max-width: 285px) {
    .intro {
        font-size: 7pt;
    }
    .content_img_home img,
    .content_img_home video {
        width: 70vw;
    }
    .content_paragrafi > img,
    .content_paragrafi > video {
        width: 80vw;
    }
    .navbar-brand#logo {
        font-size: 16pt;
    }
    .opt_ristorante h3,
    .scopri {
        font-size: 12pt;
    }
}

@media (max-width: 1200px) {
    .desc_ristorante {
        flex-direction: column;
        justify-content: space-around;
    }
    .desc_ristorante .right,
    .desc_ristorante p {
        text-align: center;
    }
    .desc_ristorante img {
        min-width: 250px;
    }
    .opt_ristorante {
        flex-direction: column;
        width: 50%;
    }
    .img_rest {
        width: 100%;
        height: auto;
        min-width: 250px;
    }
    /* Anche qui: una sola immagine, che scende sotto il titolo. */
    .opt_ristorante .media-prima {
        order: 2;
    }
}

/* Camere: le due versioni del testo (accanto alle foto / sotto le foto). */
.verticale {
    display: none;
}

@media (max-width: 1125px) {
    .img_camera_main .verticale,
    .title .verticale {
        display: block;
    }
    .img_camera_main .paragrafo_camera.verticale {
        display: flex;
    }
    .img_camera_main .orizzontale {
        display: none;
    }
}
