/*
Theme Name: Playas de Cartaya 2.0
Theme URI: https://playasdecartaya.es/
Author: Playas de Cartaya
Description: Nuevo tema independiente para la web del club. Diseño editorial deportivo, adaptable a móvil y preparado para contenido de WordPress.
Version: 2.0.180
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: playas-cartaya-2-0
*/


/* FASE 152: patrocinadores y compartir en cada ficha de evento */
.pc20-event-sponsors{margin:2rem 0;padding:1.5rem;border:1px solid #eee;border-top:3px solid #d9273d;border-radius:14px;background:#fff}
.pc20-event-sponsors h2{margin:.2rem 0 1rem}
.pc20-event-sponsors-list{display:flex;flex-wrap:wrap;gap:.65rem}
.pc20-event-sponsor{display:inline-flex;align-items:center;padding:.65rem 1rem;border:1px solid #e6e6e6;border-radius:8px;background:#fff;font-weight:700}
.pc20-event-sponsor a{color:#d9273d;text-decoration:none}.pc20-event-sponsor a:hover,.pc20-event-sponsor a:focus{text-decoration:underline}
.pc20-event-share{margin:1.5rem 0 2rem;padding:1.25rem 0;border-top:1px solid #eee}
.pc20-event-share>strong{display:block;margin-bottom:.8rem}
.pc20-event-share-links{display:flex;flex-wrap:wrap;gap:.6rem}
.pc20-event-share-links a{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1rem;border:1px solid #d9273d;border-radius:999px;background:#fff;color:#d9273d;text-decoration:none;font-weight:700;transition:background .18s ease,color .18s ease}
.pc20-event-share-links a:hover,.pc20-event-share-links a:focus{background:#d9273d;color:#fff}
@media(max-width:600px){.pc20-event-sponsors{padding:1rem}.pc20-event-share-links a{flex:1 1 calc(50% - .6rem)}}


/* FASE 153: compartir eventos con el mismo diseño de noticias. */
.pc20-event-share{border-top:0;padding:18px 20px;background:#f5f7fa;border-left:4px solid #d9273d;border-radius:0 12px 12px 0;}
.pc20-event-share .pc20-share-label{display:block;margin-bottom:12px;color:#14243a;font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;}
.pc20-event-share .pc20-share-buttons{display:flex;flex-wrap:wrap;gap:9px;}
.pc20-event-share .pc20-share-button{font-family:inherit;border:0;cursor:pointer;}
@media(max-width:600px){.pc20-event-share{padding:15px;margin:20px 0 24px}.pc20-event-share .pc20-share-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pc20-event-share .pc20-share-button{padding:10px 8px;font-size:12px}}
@media print{.pc20-event-share,.pc20-event-sponsors{break-inside:avoid}.pc20-event-share{display:none!important}}

/* FASE 154: sección de eventos próximos al final de cada ficha de evento. */
.pc20-upcoming-events{margin-top:clamp(2.5rem,6vw,5rem)}

/* FASE 155: asegurar separación visual de próximas citas en la plantilla individual de eventos. */
.pc20-upcoming-events .pc20-related-heading{margin-bottom:1.25rem}
.pc20-upcoming-events .pc20-related-grid{align-items:stretch}

/* FASE 156: en las fichas de evento, compartir seguido directamente por Próximas citas; se retiran bloques intermedios. */

/* Página Club: presentación e índice de secciones */
.pc20-club-page{padding-top:clamp(2rem,5vw,4.5rem);padding-bottom:clamp(3rem,6vw,5rem)}
.pc20-club-heading{margin-bottom:1.5rem}.pc20-club-heading h1{margin:.25rem 0;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.08}
.pc20-club-about{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;margin-bottom:clamp(3rem,7vw,5rem)}
.pc20-club-about-copy{font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.8;color:var(--pc20-text,#343434)}.pc20-club-about-copy p{margin:0}
.pc20-club-about-photo img{display:block;width:100%;height:clamp(250px,34vw,430px);object-fit:cover;border-radius:18px}.pc20-club-photo-placeholder{min-height:280px;display:grid;place-items:center;border-radius:18px;background:#f4eeee;color:#b51f2b;font-size:1.5rem;font-weight:800}
.pc20-club-links h2{font-size:clamp(1.7rem,3vw,2.4rem);margin:.25rem 0 1.5rem}.pc20-club-links-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.pc20-club-link-card{min-height:92px;padding:1.25rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid #e8e0e0;border-radius:14px;background:#fff;color:inherit;text-decoration:none;font-weight:750;box-shadow:0 5px 18px rgba(0,0,0,.045);transition:transform .2s ease,border-color .2s ease}.pc20-club-link-card b{color:#c8202e;font-size:1.35rem}.pc20-club-link-card:hover,.pc20-club-link-card:focus-visible{transform:translateY(-3px);border-color:#c8202e;color:#b51f2b}
@media(max-width:760px){.pc20-club-about{grid-template-columns:1fr}.pc20-club-about-photo{order:-1}.pc20-club-about-photo img{height:260px}.pc20-club-links-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.pc20-club-link-card{min-height:80px;padding:1rem;font-size:.95rem}}
@media(max-width:420px){.pc20-club-links-grid{grid-template-columns:1fr}}


/* FASE 196: eliminar franjas laterales reales en escritorio y móvil */
:root { --max: 100%; }
html, body { width:100% !important; max-width:100% !important; margin:0 !important; padding:0 !important; overflow-x:clip; }
body, #page, #site, .site, .site-content, .site-main, #primary, #content, .content-area, .site-header, .site-footer, header, footer, main, #contenido { width:100% !important; max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
.wrap, .container, .container-fluid, .site-container, .content-wrap, .page-wrapper, .site-inner, .header-inner, .footer-inner, .header-main, .topline-inner, .footer-grid, .footer-bottom .wrap { width:100% !important; max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
section, .section, .hero, .topline, .site-header, .site-footer, .club-strip, .news-section, .events-section, .pc20-mqc-slider { max-width:none; }
@media (max-width:760px) { html, body { width:100% !important; min-width:0 !important; } .wrap, .container, .container-fluid, .site-container, .content-wrap, .page-wrapper, .site-inner, .header-inner, .footer-inner, .header-main, .topline-inner, .footer-grid, .footer-bottom .wrap { width:100% !important; max-width:none !important; padding-left:12px !important; padding-right:12px !important; } }


/* FASE 201: efecto lupa en las imágenes de productos de la tienda */
.pc20-shop-content ul.products li.product a.woocommerce-LoopProduct-link,
.pc20-shop-content ul.products li.product a:first-child { display:block; overflow:hidden; }
.pc20-shop-content ul.products li.product a img,
.pc20-single-product-page .related ul.products li.product a img,
.pc20-single-product-page .upsells ul.products li.product a img { transition:transform .35s ease; transform:scale(1); transform-origin:center; }
.pc20-shop-content ul.products li.product:hover a img,
.pc20-shop-content ul.products li.product a:focus-visible img,
.pc20-single-product-page .related ul.products li.product:hover a img,
.pc20-single-product-page .upsells ul.products li.product:hover a img { transform:scale(1.07); }
@media (prefers-reduced-motion: reduce) {
 .pc20-shop-content ul.products li.product a img,
 .pc20-single-product-page .related ul.products li.product a img,
 .pc20-single-product-page .upsells ul.products li.product a img { transition:none; }
}


/* FASE 202: zoom de producto reforzado y compatible con WooCommerce */
body.woocommerce ul.products li.product,
body.post-type-archive-product ul.products li.product,
body.tax-product_cat ul.products li.product { overflow:hidden !important; }
body.woocommerce ul.products li.product a img,
body.post-type-archive-product ul.products li.product a img,
body.tax-product_cat ul.products li.product a img,
body.woocommerce-page ul.products li.product a img,
.pc20-shop-content ul.products li.product a img,
.pc20-single-product-page .related ul.products li.product a img,
.pc20-single-product-page .upsells ul.products li.product a img {
  display:block !important;
  transform:scale(1) !important;
  transform-origin:center center !important;
  transition:transform .4s ease !important;
  will-change:transform;
}
body.woocommerce ul.products li.product:hover a img,
body.post-type-archive-product ul.products li.product:hover a img,
body.tax-product_cat ul.products li.product:hover a img,
body.woocommerce-page ul.products li.product:hover a img,
.pc20-shop-content ul.products li.product:hover a img,
.pc20-shop-content ul.products li.product a:focus-visible img,
.pc20-single-product-page .related ul.products li.product:hover a img,
.pc20-single-product-page .upsells ul.products li.product:hover a img {
  transform:scale(1.16) !important;
}
@media (prefers-reduced-motion: reduce) {
  body.woocommerce ul.products li.product a img,
  body.woocommerce-page ul.products li.product a img,
  .pc20-shop-content ul.products li.product a img { transition:none !important; }
}


/* FASE 203: lupa visible en tarjetas WooCommerce, sin depender de clases del tema */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img,
.woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
.woocommerce-page ul.products li.product img.attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product img.wp-post-image,
.woocommerce-page ul.products li.product img.wp-post-image {
  display:block !important;
  max-width:100%;
  transition: transform .35s ease !important;
  transform: scale(1) !important;
  transform-origin: center center !important;
  position:relative;
  z-index:1;
}
.woocommerce ul.products li.product:hover a img,
.woocommerce-page ul.products li.product:hover a img,
.woocommerce ul.products li.product a:hover img,
.woocommerce-page ul.products li.product a:hover img,
.woocommerce ul.products li.product:hover img.attachment-woocommerce_thumbnail,
.woocommerce-page ul.products li.product:hover img.attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product:hover img.wp-post-image,
.woocommerce-page ul.products li.product:hover img.wp-post-image {
  transform: scale(1.22) !important;
  z-index:5;
}
.woocommerce ul.products li.product a,
.woocommerce-page ul.products li.product a { display:block; }
@media (prefers-reduced-motion: reduce) {
 .woocommerce ul.products li.product img, .woocommerce-page ul.products li.product img { transition:none !important; }
}

.woocommerce ul.products li.product.pc20-product-zoom-active img,
.woocommerce-page ul.products li.product.pc20-product-zoom-active img { transform:scale(1.22) !important; }


/* FASE 204: lupa y ampliación en la ficha individual del producto WooCommerce */
.single-product div.product .woocommerce-product-gallery { position:relative; overflow:visible !important; }
.single-product div.product .woocommerce-product-gallery__wrapper { overflow:hidden; }
.single-product div.product .woocommerce-product-gallery__image { position:relative; overflow:hidden; cursor:zoom-in; }
.single-product div.product .woocommerce-product-gallery__image img { transition:transform .3s ease !important; transform-origin:center center; }
.single-product div.product .woocommerce-product-gallery__image:hover img { transform:scale(1.12) !important; }
.single-product div.product .woocommerce-product-gallery__trigger { z-index:20 !important; width:42px !important; height:42px !important; top:12px !important; right:12px !important; background:#fff !important; border:2px solid #d71920 !important; border-radius:50% !important; box-shadow:0 3px 12px rgba(0,0,0,.22) !important; opacity:1 !important; }
.single-product div.product .woocommerce-product-gallery__trigger:before { border-color:#d71920 !important; }
.single-product div.product .woocommerce-product-gallery__trigger:after { background:#d71920 !important; }
.single-product div.product .woocommerce-product-gallery__image a { cursor:zoom-in; }
.single-product div.product .flex-control-thumbs img { cursor:pointer; transition:opacity .2s ease, outline-color .2s ease; }
.single-product div.product .flex-control-thumbs img:hover { opacity:.78; }
@media (prefers-reduced-motion:reduce) { .single-product div.product .woocommerce-product-gallery__image img { transition:none !important; } }


/* FASE 205: separar la flecha desplegable del texto del menú en escritorio */
@media (min-width:761px){
 .site-header .primary-nav ul li.menu-item-has-children>a{padding-right:23px !important;}
 .site-header .primary-nav ul li.menu-item-has-children>a:after{right:5px !important;}
}


/* FASE 207: enlaces modernos en /club/ */
.pc20-club-page .pc20-club-links { margin-block: clamp(2.5rem, 6vw, 5rem); }
.pc20-club-page .pc20-club-links-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.1rem; margin-top:1.5rem; }
.pc20-club-page a.pc20-club-link-card { position:relative; display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:108px; padding:1.35rem 1.4rem; overflow:hidden; color:var(--pc20-text, #20232b); text-decoration:none; background:linear-gradient(135deg,#fff 0%,#fffafa 100%); border:1px solid rgba(150,20,35,.14); border-radius:18px; box-shadow:0 8px 24px rgba(28,22,24,.06); transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease; }
.pc20-club-page a.pc20-club-link-card:before { content:""; position:absolute; left:0; top:14px; bottom:14px; width:4px; border-radius:0 5px 5px 0; background:#c82032; transition:width .22s ease; }
.pc20-club-page a.pc20-club-link-card span { position:relative; z-index:1; font-size:1.05rem; line-height:1.35; font-weight:750; letter-spacing:-.015em; }
.pc20-club-page a.pc20-club-link-card b { position:relative; z-index:1; flex:0 0 38px; width:38px; height:38px; display:grid; place-items:center; border-radius:50%; color:#c82032; background:#fff0f1; font-size:1.2rem; font-weight:700; transition:transform .22s ease, color .22s ease, background .22s ease; }
.pc20-club-page a.pc20-club-link-card:hover, .pc20-club-page a.pc20-club-link-card:focus-visible { transform:translateY(-4px); border-color:rgba(200,32,50,.45); box-shadow:0 16px 34px rgba(75,15,24,.12); background:#fff; outline:none; }
.pc20-club-page a.pc20-club-link-card:hover:before, .pc20-club-page a.pc20-club-link-card:focus-visible:before { width:7px; }
.pc20-club-page a.pc20-club-link-card:hover b, .pc20-club-page a.pc20-club-link-card:focus-visible b { transform:translate(2px,-2px); color:#fff; background:#c82032; }
.pc20-club-page a.pc20-club-link-card:focus-visible { outline:3px solid rgba(200,32,50,.28); outline-offset:3px; }
@media(max-width:900px){ .pc20-club-page .pc20-club-links-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; } }
@media(max-width:560px){ .pc20-club-page .pc20-club-links-grid { grid-template-columns:1fr; } .pc20-club-page a.pc20-club-link-card { min-height:82px; padding:1rem 1.1rem; border-radius:14px; } }
@media(prefers-reduced-motion:reduce){ .pc20-club-page a.pc20-club-link-card, .pc20-club-page a.pc20-club-link-card:before, .pc20-club-page a.pc20-club-link-card b { transition:none; } }
